查看: 1916|回复: 7

求助关于viewer浏览文件的问题

[复制链接]

该用户从未签到

发表于 2009-2-26 11:53:27 | 显示全部楼层 |阅读模式
对于同一个.ive 文件 用osgviewer 浏览时,帧率至少200,内存占用为20M左右;写代码用viewer打开浏览时,帧率最低时只有十几,内存占到了75M,不知是什么原因。我的ive文件大小为16M。
是不是还要设置viewer的参数?
下面是我用viewer浏览ive文件的代码:
  1. int main(int argc, char** argv)
  2. {
  3. osgViewer::Viewer* viewer = new osgViewer::Viewer;
  4. osg::ref_ptr<osg::Group> root = new osg::Group;
  5. root->addChild(osgDB::readNodeFile("F:\\iveFiles\\roadmodel_lod\\part1.ive"));

  6. viewer->setSceneData(root.get());
  7. viewer->addEventHandler(new osgViewer::StatsHandler);
  8. viewer->addEventHandler(new osgViewer::WindowSizeHandler());
  9. viewer->realize();
  10. viewer->run();

  11. return 0;
  12. }
复制代码

该用户从未签到

发表于 2009-2-26 13:00:43 | 显示全部楼层
这样应该就可以了?说实话我还真的没遇到过您所述的问题,不知道有没有别的朋友有相关的经验

该用户从未签到

 楼主| 发表于 2009-2-26 13:30:22 | 显示全部楼层
郁闷,不知谁遇到过?指点一下。

该用户从未签到

 楼主| 发表于 2009-2-26 15:41:42 | 显示全部楼层
找到原因了 呵呵
看了一下osgviewer的代码 里面有用osgUtil::Optimizer对模型进行优化
我在自己的程序里加上优化模型这一步后 帧率和内存占用就和osgviewer打开时是一样的了。

该用户从未签到

发表于 2009-2-26 15:49:41 | 显示全部楼层
这样啊~~那看来模型本身的问题还真不小……

该用户从未签到

 楼主| 发表于 2009-2-26 16:05:28 | 显示全部楼层
我的那个ive文件是一个道路模型,就是一堆的四边形,面片个数比较多,而且很多面片用到的纹理是都一样的,但我不知道怎么优化,老大指点一下吧?

该用户从未签到

发表于 2009-2-26 19:11:27 | 显示全部楼层
osgUtil::Optimizer做的主要工作包括:去掉冗余节点,合并Geode,三角条带化等等……我个人觉得您的模型可能比较需要做三角条带化(Tristrip),不然一个一个面片渲染起来的确很慢。

该用户从未签到

 楼主| 发表于 2009-2-26 19:27:27 | 显示全部楼层
好的 谢谢老大 去试一下~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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