查看: 980|回复: 5

如何降低更新的比重

[复制链接]

该用户从未签到

发表于 2011-5-12 10:44:50 | 显示全部楼层 |阅读模式
整个场景运行的帧率低于15,利用帧率查看,发现update比重占了几乎100%。如何降低更新在场景内的比重呢?船的行进,粒子发射器的位置更新,船后航迹的网格更新。这些都是必须的更新,那么为了提升效率。有什么好的处理办法呢?还有,就是我想问,OSG中视锥体以外的节点是否绘制,需要自己判断吗?

该用户从未签到

发表于 2011-5-13 08:31:51 | 显示全部楼层
发现update比重占了几乎100%。如何降低更新在场景内的比重呢
这部分内容完全是您来控制的,如何提高效率也完全取决于您
OSG中视锥体以外的节点是否绘制,需要自己判断吗
完全不需要

该用户从未签到

发表于 2011-5-13 08:54:58 | 显示全部楼层
如何模型超多,加索引,合理组织场景结构

该用户从未签到

 楼主| 发表于 2011-5-13 09:11:58 | 显示全部楼层
谢谢Array和OMEN的回答,UPDATE比重大的地方我找到了。正在想办法解决。还想问个问题,就是如何判断节点是否在视锥体外,我的想法是,如果该节点在视锥体外则子节点的更新被关闭,这样就可以节省很大的一笔开销了。

该用户从未签到

发表于 2011-5-13 15:03:30 | 显示全部楼层
CullStack::isCulled()函数中有如何进行视锥体裁减的代码,您可以在更新回调中自己取得视锥体的Polytope并进行判断

该用户从未签到

 楼主| 发表于 2011-5-13 15:33:45 | 显示全部楼层
谢谢Array,参照源码中的一部分代码。已经解决掉效率问题了,帧率也重新回到了60.您说的没错,实际上就是添加了节点是否在视锥体内部的判断,然后根据判断结果来决定更新部分的内容。以前对于视锥体部分总是有些恐惧,所以迟迟不敢动笔。其实问题很简单,还是需要自己多多的学习源码。再次向您表示敬意。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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