测量我的 OpenGL 程序的帧速率的最佳方法是什么?
问问题
3116 次
4 回答
5
在主循环的开始处设置一个计时器,并测试回到那里需要多长时间。
在windows下你会做类似的事情:
double oldTime = 0.0.
while( !exit )
{
__int64 counter;
QueryPerformanceCounter( (LARGE_INTEGER*)&counter );
__int64 frequency;
QueryPerformanceFrequency( (LARGE_INTEGER*)&frequency );
double newTime = (double)counter / (double)frequency;
double frameRate = 1.0 / (newTime - oldTime);
oldTime = newTime;
// Rest of your game loop goes here.
}
于 2009-09-02T22:04:30.233 回答
3
测量经过的时间并计算帧数。一个除以另一个给出帧速率。
当经过的时间达到一秒或更多时,如果您想在更长的时间段内对其进行平均,则重置两个计数并重新开始。
于 2009-09-02T22:02:03.670 回答
1
SPF(每帧秒数)是一个信息量更大的指标。
于 2009-09-03T16:24:47.807 回答
0
如果您在 Windows 上,只需使用 Fraps。
于 2011-09-22T15:33:10.293 回答