[osg-users] Enabling Vsync gives dramatic increase in latency

Björn Blissing bjorn.blissing at vti.se
Thu Apr 16 10:43:30 PDT 2015

robertosfield wrote:
> Hi Björn,
> The driver will be queuing up multiple frames in the FIFO, something it does to help improve the framerate, but increases frame latency.  
> We aren't powerless in this though, modern drivers and hardware support putting fences into the pipeline and waiting on these to be completed on the GPU.  In the svn/trunk vesion of the OSG you'll find a swap buffers SyncSwapBuffersCallback implementation that does this for you.  You can enable this via the env var OSG_SYNC_SWAP_BUFFERS=ON, or --sync on the command line for examples like osgviewer.
> Robert.

Hi Robert,

Intresting, I am compiling the trunk right now and will hopefully be able to get back with some more data tomorrow.

Jan Ciger wrote:
> Hello Björn,
> I think this is pretty good already. 
> At 60Hz one frame takes 16.6ms, so you cannot physically get under 17ms - the monitor will not be able to display the data even if you manage to send them faster somehow. 

Hi Jan,

That does not seem entirely correct, if you look at the values for running without Vsync I have managed to get down to 4 ms and a mean of 14 ms. So I guess that my screen has a scan out time of ~4ms and since I am rendering at ~3000 fps without Vsync I have somehow managed to send a frame just as the screen starts to scan out a new image.

Best regards

Read this topic online here:

More information about the osg-users mailing list