Hi Markus, First thanks for sending the logs. I'm replying here so that others can pitch in with their own suggestions.
The interesting parts of the old and new loaders logs are: New OpenFlight plugin stats after optimization: Stats after: Object Type #Unique #Instanced Group 3357 8974 Transform 10592 10594 LOD 4575 16866 Switch 0 0 Geode 8981 26704 Drawable 9338 28964 Geometry 9338 28964 Vertices 508153 687961 Primitives 159927 215328 Old OpenFlight plugin stats after optimization: Stats after: Object Type #Unique #Instanced Group 3571 3572 Transform 26 28 LOD 16863 16866 Switch 0 0 Geode 19831 19855 Drawable 28910 28959 Geometry 28910 28959 Vertices 687680 687996 Primitives 210381 210460 -- The big differences lie in number of Transform nodes in the scene graph with the new loaders vs the old loaders - 10592 vs 26, which is obviously where the slow down is comming from. I believe the new loader is generating scene graphs with a lot more sharing of nodes, which breaks the flatten static transforms optimization pass in osgUtil::Optimizer, so transforms that are removed previously remain in the scene graph. The sharing does mean there is less goodes and geometry in the scene though, which is also echo'd by the number of geodes and geometry being less for the new loader. However, this clearly isn't sufficient to overcome the downside of not being able to flatten the transforms. To overcome this perhaps we need to duplicate the shared subgraphs. In the Optimizer there is COPY_SHARED_NODES, which isn't used by default. I'll try it on the flight databases I have here and see if it succeeds in allow the flat static transform to work. Should just need to do: export OSG_OPTIMIZER="DEFAULT COPY_SHARED_NODES" osgconv myfile.flt myfile.ive I'll do some testing at my end and see what I come up with. _______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
