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/

Reply via email to