Hi John,
On 19 January 2012 16:32, John Kelso <ke...@nist.gov> wrote: > I also tried setting the traits->swapGroupEnabled value to true but nothing > changed. swapGroupEnabled is only currently used under GraphicsWindowWin32 so won't effect linux systems in any way. > So as far as I can tell we are syncing swaps within a graphics context, but > not between graphic contexts. At least that's how I interpret what I'm > seeing. > > This may or may not be relevant, but we use one osgViewer::Viewer object > and all of the cameras we use are slave cameras of the master camera in the > viewer. Our graphics loop just calls osgViewer::Viewer::frame(). As long as your run the viewer multithreaded the OSG will use a barrier so that each graphics thread waits at the end of draw dispatch, then once all the threads join this barrier then all move on together and then call swap buffers. This is done to try and achieve synchronized swapping, however, it's not a full proof scheme as it doesn't use any low level driver and hardware synchronization. Extensions to some OpenGL drivers exist to enable the low level synchronisation, such as swap groups, swap ready and gen lock. GraphicsWindowX11 doesn't have support for these extension. One could potentially add this into an existing application via a custom osg::Camera::FinalDrawCallback. It would be nice to have support for these extensions in the core though so feel free to pitch in ;-) Robert. _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org