5

测量我的 OpenGL 程序的帧速率的最佳方法是什么?

4

4 回答 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。

http://www.fraps.com/

于 2011-09-22T15:33:10.293 回答