查看: 3365|回复: 4

delete this->getSceneData();

[复制链接]

该用户从未签到

发表于 2008-3-12 17:01:33 | 显示全部楼层 |阅读模式
各位好,我写了这么一段小程序:
  1. int ViewerQT::Open(QString str)
  2. {
  3.         osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFile(str);
  4.         if (!loadedModel)
  5.         {
  6.             std::cout <<": No data loaded." << std::endl;
  7.             return false;
  8.         }
  9.         this->setSceneData(loadedModel.get());
  10.         return true;
  11. }
  12. void ViewerQT::New()
  13. {
  14.     osg::ref_ptr<osg::Group> pNew=new osg::Group;
  15.     this->setSceneData( pNew.get() );
  16. }
复制代码
可以正常运行,但在反复执行"New"和"Open"后,内存占用量越来越大,占用的速度也很快,我该怎么办啊?

忘了忘了,我试过"delete this->getSceneData()",不能用。

[ 本帖最后由 HelloWorld! 于 2008-3-12 17:03 编辑 ]
  • TA的每日心情
    开心
    2019-11-11 10:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-3-12 17:08:15 | 显示全部楼层
    按道来讲是不会有这回事的,,,,,,建议使用比较敏感的内存检测的东西,,,,,,,,自带的不可靠啊,,,因为你用的是this ->setSceneData,所以场景中的东西一经弹出,肯定放掉的`~~应该不会越占越大的

    该用户从未签到

     楼主| 发表于 2008-3-12 17:25:01 | 显示全部楼层
    我还以为是我的程序写错了呢,谢谢您了。
  • TA的每日心情
    开心
    2019-11-11 10:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-3-12 17:58:49 | 显示全部楼层
    不用谢谢

    该用户从未签到

    发表于 2008-3-16 09:12:51 | 显示全部楼层
    我感觉就不应该这样释放内存!用osg智能指针读取模型!自动释放!
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    OSG中国官方论坛-有您OSG在中国才更好

    网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

    联系我们

    • 工作时间:09:00--18:00
    • 反馈邮箱:1315785073@qq.com
    快速回复 返回顶部 返回列表