Hi Alessandro, If the NodeMask is 0 then the intersection and cull traversals should all ignore those subgraphs and shouldn't affect performance on their own.
Could it be that you are running out of memory? How big is each model? Check the overal memory consumption as the models are loaded. W.r.t reducing the time it takes to introduce a new subgraph in for the first time, the time cost is usually down to the compilation of display lists and texture objects. Running the osgUtil::GLObjectsVisitor on these new subgraphs before viewing can be done for each graphics context to ensure that everything is ready when you need it. This will bump memory usuage though... Robert. On 6/27/07, alessandro terenzi <[EMAIL PROTECTED]> wrote:
I'm working on OSG+osgART and I'm experiencing performances problems when I load many (50) 3D models in the scene. Actually, I load every single model when the application first starts, I attach them to the scenegraph but each model is displayed only when a fiducial marker is recognized inside a videostream that is the scene background. But, actually, it looks like that every model is taken into account for many computations (for example for mouse picking...) even though it is not visible in the scene. To figure out what is happening I dumped the scene in a file and I realize that nodes corresponding to not-visible models have the nodeMask set to 0x0 and cullingActive to true. Can you imagine why I'm experiencig such bad perfomances? If I just load one or few models, everything is fine... When I say bad performances I mean, of course, low fps and, if there is a 3d video plane, also no smooth video playback...but the videostream from the background is always smooth. I aslo have another problem, at startup I load each model and I thought that they were put in some kind of cache, but I realize that actually, maybe, they are not really loaded in ram until they are displayed, because, at runtime, when a marker is recognized, it takes some time to display the corresponding model (I guess because it is loaded in that moment and not actually when the application started...) ... so my question is: is there a way to pre-load object in a cache? Thank you. Best regards. Alessandro _______________________________________________ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
_______________________________________________ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/