Hi John, On Fri, Dec 17, 2010 at 6:43 PM, John Kelso <[email protected]> wrote: > To summarize: > > 1) DGL, all OpenGL no OSG used, uses only Producer, no slowdown > > 2) DGL with OSG, uses SceneView and Producer (no Viewers or Cameras), > slowdown observed > > 3) pure OSG, uses Viewers, Cameras (and eventually SceneView if I read the > OSG code correctly), slowdown observed
OK, not entirely encouraging finding, but 2&3 together does eliminate Producer vs osgViewer being the culprit. It would be interesting to try using osgViewer but without any scene graph attached, just using a custom osg::GraphicsOperation attched to the osgViewer::GraphicsWindow and have the osg::GraphicsOperation do the call to OpenGL. This would eliminate Producer vs osgViewer as a contributory factor. In terms of OpenGL vs OSG, I rather surprised that the later is not scaling as well as each context should be working independently, the OSG doesn't add any explictly extra thread serialization at the SceneView or osg::Geometry/Node/State level. The only explicit serialization is the option in osgViewer::Renderer. FYI, the Referenced global mutex that protects the addParent/removeParent() won't affect static scene graphs. When paging it's only in background threads that are likely to thrash addParent/removeParent, the main frame thread should only be one one or two add/removeChild() per frame. In my own testing I've never seen it as a bottleneck, and certainly shouldn't be a factor here. Robert. Robert. _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

