查看: 1193|回复: 5

程序读入4M-IVE模型导致帧速下降到2,如何解决

[复制链接]

该用户从未签到

发表于 2013-6-28 22:16:44 | 显示全部楼层 |阅读模式

如题,程序读入场景后,帧速在70以上,对模型回调更新位置时,帧速直接下降到2,去除别的因素,确定是模型问题,但打开模型,发现其顶点和面个数并不大,不知具体原因为何,及如何解决?
ps:模型不用LOD,同时,参照论坛方法,调整了显卡的垂直同步项,未果

该用户从未签到

发表于 2013-6-28 23:35:26 | 显示全部楼层
应该是你的回调程序有问题,
40M的运行都正常

该用户从未签到

 楼主| 发表于 2013-6-30 00:10:50 来自手机 | 显示全部楼层
VR_user_happy 发表于 2013-6-28 23:35
应该是你的回调程序有问题,
40M的运行都正常

谢谢您的解答。回调程序只是改变了模型的位置,别的没做啥了,小点的模型回调就一点问题没有……

该用户从未签到

发表于 2013-6-30 08:34:26 | 显示全部楼层
1. 回调 循环效率
你的回调是在什么地方加的,如果有循环中(如nodevisitor),就应该检查它的执行效率。
2.模型问题
找个比他大的,但模型结构树简单的如只有一个父节点,子节点都是几何面片的再测试;
  换一些常规的不同样大小的模型(依次增加大小),加载再测试
  换一些常规不同结构的同级大小,加载再测试
3.其他问题
自己判断,一定准确吗,只是怀疑吧?
   最好还是发问题源码,要不别人无法确定你的异常点(要不怎么还有问题)
  你自己没发现的可能影响到帧率的,如循环控制访问问题、出现异常但没有跳出异常(某地返回空指针)、开启其他
4.如果你确定是模型问题,请发问题模型(可能性极小);
我同样只做位置变换如AnimationPath加载大的帧率能稳定到50以上;
5.硬件问题(这种可能性最小, 排除软件,再考虑)
换个OSG自带的可执行的example例子测试就知道了

该用户从未签到

发表于 2013-6-30 08:42:56 | 显示全部楼层
还有,最简单的测试,就是用OSG自带example,如飞机绕场景非,把\DATA\下地飞机模型替换成你的模型,测试就可知道是否是模型或机器的问题

该用户从未签到

 楼主| 发表于 2013-6-30 20:57:51 | 显示全部楼层
VR_user_happy 发表于 2013-6-30 08:42
还有,最简单的测试,就是用OSG自带example,如飞机绕场景非,把\DATA\下地飞机模型替换成你的模型,测试就可 ...

感谢您的详细解答,这种方法非常有建设性,我回单位测试一下example。
我测试过直接加载该模型,trackball旋转看的时候帧速下降至十几,不动的话在70几,所以考虑是不是要用多线程渲染模式,等测完example再考虑,再次感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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