[vtkusers] Why do my vtkRenderWindows divide up the frame rate?

Kirchner, Thomas t.kirchner at dkfz-heidelberg.de
Tue Oct 13 13:22:55 EDT 2015


Hi David,

thank you for taking the time. 
SwapBuffers changed nothing on the speed (still 60/numberOfRenderWindows fps). Although weirdly this is only the case on my ubuntu system -- on my Macbook this doesnt occur at all (60fps on all 10 renderwindows).
Also, if i completely turn off DoubleBuffering it doesnt occur, but i do get the typical image artifacts.

- Thomas
    
________________________________________
From: David Gobbi [david.gobbi at gmail.com]
Sent: Tuesday, October 13, 2015 3:09 AM
To: Kirchner, Thomas
Cc: vtkusers at vtk.org
Subject: Re: [vtkusers] Why do my vtkRenderWindows divide up the frame rate?

Hi Thomas,

The default behavior of vtkRenderWindow is to wait for the vblank before swapping the buffers.  So with multiple RenderWindows, the result is slow rendering and, even worse, the windows aren't synchronized.  You can try the following work-around:

For each window, call SwapBuffersOff() before calling Render().  This allows each window to do its rendering without swapping the buffers.   Then, call SwapBuffersOn() and Frame() for each window.  This will synchronize the buffer swapping.

 - David


On Mon, Oct 12, 2015 at 5:50 PM, Kirchner, Thomas <t.kirchner at dkfz-heidelberg.de<mailto:t.kirchner at dkfz-heidelberg.de>> wrote:
Hello everyone,

i am trying to get multiple vtkRenderWindows to render (4 different
image streams in my case) simultaneously at 60fps which seems to be the
frame rate limit for one single vtkRenderWindow (at least with my
screen). It appears to me that multiple render windows in the same
application share those 60fps ... e.g. yielding exactly 15fps for 4 windows.
If i just start a new application for each window this does not occur
(which gives me hope but doesn't help)

I can't figure out why this frame rate limit is "shared" and i dont think
this behavior is intended. But maybe you guys know how i can avoid this
effect?
(my simple example, mostly stitched together from other example code is
attached)

Any help would be greatly appreciated.

Thanks in advance
Thomas

--
Thomas Kirchner
German Cancer Research Center (DKFZ)
Division Medical and Biological Informatics
E131 - Computer-assisted Interventions

Im Neuenheimer Feld 280
69120 Heidelberg, Germany
Tel.: +49 (0) 6221 / 42-3543<tel:%2B49%20%280%29%206221%20%2F%2042-3543>


More information about the vtkusers mailing list