[vtkusers] Volume Rendering Performance With Two Volumes

ianl ilindsay at insigniamedical.co.uk
Tue Mar 20 08:00:03 EDT 2018


Hello all,

I am investigating a performance issue we are seeing with VTK 8.1 and the
new OpenGL2 back-end. We are loading two medium/large volumes (~900 images)
made from CT slices at 512x512 x 2 Bytes (raw data size of ~450MB).

The GPU is an AMD R7 200 with 2GB of graphics RAM, so should easily be able
to hold both volumes. I am running on Windows 10 with a Visual Studio 2017
build of VTK.

The issue we are seeing is that the performance of one of the volumes is
quite degraded. This leads to the mapper reducing the quality noticeably on
one volume but not the other. Generally it is the first volume to be shown
that gets the best performance, but not always.

This issue does not seem to happen with the old OpenGL back-end, or is not
anything like as noticeable. Eventually, the rendering will get so slow that
Windows determines that the driver is not responding and resets it, leading
to all sorts of havoc!

I have also been able to reproduce the quality degradation using 3DSlicer -
version 4.8.1, downloaded yesterday, which as far as I am aware uses the new
OpenGL2 back-end. I load one of the volumes and display twice in GPU mode
(Dual 3D from view menu). I also had to set the GPU memory size on the
advanced section for the GPU rendering to work properly. The effect is most
noticible with the CT-AAA preset. The driver reset seems to be mitigated by
the dramatic degradation in quality that 3DSlicer seems to allow by default.

We could allow the quality to drop in the same way that 3DSlicer does, but
as we were getting acceptable performance at reasonable quality levels using
the old back end, it seems a shame to do this.

How do I proceed with this? Is there anything I can 'tweak' to change how
the volumes are swapped on/off the GPU (if this is what is happening). Is
the new volume rendering back-end just more memory heavy, so this is
probabably something we will have to live with? Does anyone have any
suggestions for diagnostics we can carry out to determine what is going on?

I have looked at GPU-Z and am seeing a higher Memory Controller Load when
manipulating the 'bad' volume, so I am guessing that some sort of swapping
of data is going on.




--
Sent from: http://vtk.1045678.n5.nabble.com/VTK-Users-f1224199.html


More information about the vtkusers mailing list