Hi Robert, I set ref_ptr<> to null. It works well. Thanks a lot.
Best Regards, Su Hu 2008/7/24 Robert Osfield <[EMAIL PROTECTED]>: > Hi Su, > > You shouldn't be called ref_ptr.release() in this context, you should > be just setting the ref_ptr<> to null. > > ref_ptr::release() is a specialist helper method with does an > unref_noDelete on the referenced object - it deliberately doesn't > delete the object that it's unrefecing. This functionality is > required for functions that use ref_ptr<> locally but then have to > pass a C* point of the object. > > Robert. > > On Thu, Jul 24, 2008 at 10:45 AM, su hu <[EMAIL PROTECTED]> wrote: > > Hi all. > > > > I need to release loaded model and reload other model. I did as follow: > > > > > > osgViewer::Viewer Viewer; > > osg::ref_ptr<osg::Group> root = new osg::Group; > > osg::ref_ptr<osg::Group> ModelRoot = new osg::Group; > > osg::ref_ptr<osg::Node> loadedModel; > > ... > > Viewer.setSceneData(root.get() > > ); > > root->addChild(ModelRoot.get()); > > ... > > > > //in frame loop > > ..... > > switch(CMD) > > { > > case LOAD_SCENE: > > { > > > > loadedModel = osgDB::readNodeFile(CMD_SceneFileName); > > > > if (loadedModel.valid()) > > { > > ModelRoot->addChild(loadedModel.get()); > > } > > break; > > } > > case RELEASE_SCENE: > > { > > if(ModelRoot.valid()) > > { > > ModelRoot->removeChildren(0,ModelRoot->getNumChildren()); > > } > > > > loadedModel.release(); > > > > break; > > } > > > > } > > > > ... > > > > The loadedModel is added to ModelRoot and is not added to any other > group. > > > > Models could be loaded and "released". But I found used memory was not > > reduced at all after "RELEASE_SCENE" was executed. After loading and > > releasing several times, used memory is more than 1GB and program is > > freezed. I want to know the reason and how to improve it. > > > > Much appreciation to any reply. > > > > > > Regards, > > > > Su Hu > > _______________________________________________ > > osg-users mailing list > > osg-users@lists.openscenegraph.org > > > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > > > > _______________________________________________ > osg-users mailing list > osg-users@lists.openscenegraph.org > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org