查看: 1139|回复: 3

如何显示正确帧频?

[复制链接]

该用户从未签到

发表于 2016-10-11 16:18:48 | 显示全部楼层 |阅读模式
我想测试我的场景绘制的帧频,使用:viewer->addEventHandler(new osgViewer::StatsHandler);
后发现帧频显示固定为40fps左右,
我换一个模型也是大约40.fps左右,将物体移开到视景体外也是40.0fps左右,不知为什么?
应该是osg对帧做了处理,那么如何实时显示当前实际的未限定的帧频呢?

该用户从未签到

发表于 2017-3-10 22:18:53 | 显示全部楼层
用osg::Timer类自己计算下呢

该用户从未签到

发表于 2017-4-9 19:37:03 | 显示全部楼层
自己写 viewer->run(),通过viewer->frame() 设置时间 进行计算。

该用户从未签到

发表于 2017-4-9 19:57:20 | 显示全部楼层
osg::Timer* timer= new osg::Timer;
        osg::Timer_t start_T=0,start_T2=0, end_T=0,end_T2=0;
        int count = 0;
        while (!viewer->done())
        {
                if (count == 0)
                {
                        start_T2 = timer->tick();
                }
                start_T = timer->tick();
               
                viewer->frame();

                end_T = timer->tick();

                std::cout << "即时帧率为: " << 1 / timer->delta_s(start_T, end_T) << std::endl;
                count++;
                if (count == 5)
                {
                        end_T2 = timer->tick();
                        std::cout << "平均帧率为: " << 5 / timer->delta_s(start_T2, end_T2) << std::endl;
                        count = 0;
                }
               

        }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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