HI Michael, I can't say much specifically about your scene graph usage/results as there isn't quite enough info to understand it fully. The only thing I'd add as general clarification is that all the transforms above a Geode will be accumulated into a single 4x4 Matrix and this Matrix will then be applied with the Geometry that are associated with each of these Geode's. This will be that in effect all the internal transforms in the scene graph will be flattened by the cull traversal so that draw traversal won't need to handle all the internal matrices. This levels the field for the draw traversals between using a flatter scene graph with less transforms and deeper one with more internal transforms.
At this stage I would ask yourself is the performance sufficient with these mods or not, if not then you'll need to do further work. I'll not suggest any further ideas until you provide some feedback on the absolute perfomance you are now getting, the frame rate, cull and draw times are the scene stats all values that would be useful to know. Robert. On 16 July 2012 14:50, Michael Schanne <[email protected]> wrote: > Thanks Robert! > > I tested two alternate implementations, one with a flat graph where I > premultiplied the transforms together and used the result in > AutoTransform::setPosition (so the graph had many AutoTransforms and 1 > Geode), and another where I kept the original graph but used a separate > instance of AutoTransform for each point (instead of sharing a single > AutoTransform node, to take advantage of the cached transform). I was > surprised to discover that when I zoomed out so that every object would be > visible, the second implementation was slightly faster by about 2-3 fps. > According to the statistics, the first graph had a shorter cull time (which > makes sense to me, since there were fewer nodes to traverse) but the second > graph more than made up for it in the draw traversal. I can't explain why > this would happen. I would think the second graph would have a slower draw > time, since there are more matrix multiplications to do. What might cause > this? I am using the DrawThreadPerContext thr ea > d model on a dual-core CPU. > > In any case, I am planning to add level of detail nodes so these objects are > not visible when zoomed way out, so I don't need to improve things more just > yet. The performance at my initial zoom level is acceptable for now. > > ... > > Thank you! > > Cheers, > Michael > > ------------------ > Read this topic online here: > http://forum.openscenegraph.org/viewtopic.php?p=48869#48869 > > > > > > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

