<div dir="ltr">Hi Mathieu,<br><br>Thank you for your cooperation.<br>But, unfortunately, it failed.<br>Because the original code is as follows;<br><br><pre>&gt;  if ( size[0] &gt; GL_MAX_TEXTURE_SIZE ||<br>&gt;       size[1] &gt; GL_MAX_TEXTURE_SIZE )<br>
&gt;    {<br>&gt;    return 0;<br>&gt;    }<br><br>According to the above code, if the size[0] or size[0] exceed GL_MAX_TEXTURE_SIZE, <br>the gdcmviewer will be forced to stop.<br>But, the gdcmviewer haven&#39;t stoped with the large DICOM Data, yet.<br>
Then, I have to conclude that the above code is not the cause of the poor performance.<br></pre>What do you think of it?<br><br>Thanks,<br><br>Maty<br><br><div class="gmail_quote">2008/10/5 Mathieu Malaterre <span dir="ltr">&lt;<a href="mailto:mathieu.malaterre@gmail.com">mathieu.malaterre@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">On Fri, Oct 3, 2008 at 11:52 AM, Mathieu Malaterre<br>
&lt;<a href="mailto:mathieu.malaterre@gmail.com">mathieu.malaterre@gmail.com</a>&gt; wrote:<br>
&gt; &#39;lo<br>
&gt;<br>
&gt; On Fri, Oct 3, 2008 at 11:41 AM, masabumi ishihara<br>
&gt; &lt;<a href="mailto:maty.ishihara@gmail.com">maty.ishihara@gmail.com</a>&gt; wrote:<br>
&gt;&gt; Hi Mathieu,<br>
&gt;&gt;<br>
&gt;&gt; Thank you for your splendid opinion.<br>
&gt;&gt; This time, we compareed two viewers&#39; preformances.<br>
&gt;&gt; Unfortunately, the results are as follows;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CPU rate<br>
&gt;&gt; performance of moving<br>
&gt;&gt; &nbsp; gdcmviewer with release mode &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;50~60% &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;slow<br>
&gt;&gt; &nbsp; our prototype viewer &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 50~60% &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;real time<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; DICOM Data : LittleEndianExplicit &nbsp;15,000 KB<br>
&gt;<br>
&gt; hum... for a 2D slice ? This is not that small after all. Maybe you<br>
&gt; are suffering from the non-power of two issue in OpenGL + texture.<br>
&gt;<br>
&gt; What is the size of the image (it is printed in the output of<br>
&gt; gdcmviewer). Something like:<br>
&gt;<br>
&gt; ...<br>
&gt; &nbsp;Bounds:<br>
&gt; &nbsp; &nbsp;Xmin,Xmax: (0, 347.85)<br>
&gt; &nbsp; &nbsp;Ymin,Ymax: (424.05, 848.1)<br>
&gt; &nbsp; &nbsp;Zmin,Zmax: (0, 0)<br>
&gt; &nbsp;Compute Time: 0<br>
&gt; &nbsp;ScalarType: 5<br>
&gt; &nbsp;NumberOfScalarComponents: 1<br>
&gt; &nbsp;Spacing: (0.15, 0.15, 1)<br>
&gt; &nbsp;Origin: (0, 424.05, 0)<br>
&gt; &nbsp;Dimensions: (2320, 2828, 1)<br>
&gt; &nbsp;Increments: (0, 0, 0)<br>
&gt; &nbsp;Extent: (0, 2319, 0, 2827, 0, 0)<br>
&gt; ...<br>
&gt;<br>
&gt;&gt; Can you believe the above results?<br>
&gt;&gt; Do you have any reason, e.g. memory sled ..., ?<br>
&gt;&gt; Our prototype viewer is simple 2D viewer, which doesn&#39;t have any interface<br>
&gt;&gt; to VTK, ITK GDCM.<br>
&gt;&gt; Then, we would like to use the other viewer for the future.<br>
&gt;&gt; But, it have to be real time operative.<br>
&gt;<br>
&gt; Because this is not my area of knowledge, I&#39;ll have to ask other<br>
&gt; people if there is anything to do to speed things up. Maybe some<br>
&gt; OpenGL guru will answer...<br>
<br>
This is fixed in VTK CVS, backporting patch to VTK 5.2 do fix the<br>
issue also for me:<br>
<br>
<a href="http://public.kitware.com/cgi-bin/viewcvs.cgi/Rendering/vtkOpenGLImageActor.cxx?r1=1.37&amp;r2=1.38&amp;view=patch" target="_blank">http://public.kitware.com/cgi-bin/viewcvs.cgi/Rendering/vtkOpenGLImageActor.cxx?r1=1.37&amp;r2=1.38&amp;view=patch</a><br>

<br>
thanks to Francois !<br>
<br>
--<br>
<font color="#888888">Mathieu<br>
</font></blockquote></div><br></div>