[vtkusers] Performance degradation due to pixel copy when performing off-screen rendering

Elvis Dowson elvis.dowson at mac.com
Sun Oct 26 14:19:46 EDT 2008


Hi Clint,
                   I just noticed a fundamental flaw in  
implementations that use pixel copy, such as the algorithm in  
QVTKWidget and the QVTKGraphicsView class that I'm working on. Because  
we're using a pixel copy algorithm to copy VTK rendered pixel data to  
a QWidget or QGLWidget, the larger the active render window, the more  
pixels that we have to copy, thus reducing the rendering rate for the  
VTK scene.

In the current implementation, small window sizes are quite  
interactive. However, my Mac Book Pro has a 1920x1600 resolution  
screen and if I maximize the window, the rendering rate dramatically  
drops to around 1 or 2 fps.

How can we overcome this limitation? Will attempting to go the OpenGL  
way and share an OpenGL rendering context with the QGLWidget be a  
solution? Won't that utilize GPU hardware bit-blitting of pixel data  
to the screen, for the final OpenGL rendered images?

I'd just like to think of an alternate possibility and keep it ready.  
I don't think I'm going to spend any more time in trying to get a  
shared OpenGL rendering context to work. For the moment, I'm going to  
stop with just pixel copy and get the interactor working in a  
QGraphicsScene.

In any case, do let me know what you think!

Best regards,

Elvis Dowson



More information about the vtkusers mailing list