[vtkusers] Render function's in-deterministic performance

Siddharth Vikal siddharthvikal at gmail.com
Tue Dec 6 09:05:52 EST 2011


Hi,

Let me first describe the set-up. I'm using a quad core, linux box with vtk
5.4. I'm using Qt for GUI, thus QVTKWidget. I'm trying to visualize image
frames (1280 x1280 pixels) being captured from a camera device. The
anticipated frame rate is 30 fps. I've 'capture frame' functionality
happening in a separate thread. A minimal vtk pipeline is set up using
vtkImageData, vtkImageMapper, vtkActor2D. Each time a new frame arrives,
update is callled on the vtk pipeline and the main thread running Qt, is
notified to perform render operation using paint event of QVTKWidget. For
synchronization, mutex is used. This setup seems to work just fine except
from the performance predictability standpoint.I've put timers in place to
measure time taken for each step.

The problem is, the paint call (or eventually 'render' call) is not
behaving deterministically. For some frames, render completes within 6-10
milliseconds, but for others, inexplicably, it starts taking 50-70
milliseconds!! Now with new frame arriving at every 33 milliseconds (30
fps), I start loosing frames. I've tried the setup using vtkImageActor
(therefore without vtkImageMapper, vtkActor2D) as well, but with similar
behavior.

I don't understand why is render taking 60-70 milliseconds? The data is
ready to be rendered. The in-deterministic aspect is even more worrying.

Can someone please help? It'll be greatly appreciated.

regards
Siddharth
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20111206/339c44b8/attachment.htm>


More information about the vtkusers mailing list