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

経過時間を測定し、フレーム数を数えます。フレームレートを与えるために一方を他方で割ります。

経過時間が1秒に達したとき、またはより長い期間にわたって平均したい場合はそれ以上になったら、両方のカウントをリセットして再開します。

于 2009-09-02T22:02:03.670 に答える
1

SPF(Seconds Per Frame)は、もう少し有益なメトリックです。

于 2009-09-03T16:24:47.807 に答える
0

Windowsを使用している場合は、Frapsを使用してください。

http://www.fraps.com/

于 2011-09-22T15:33:10.293 に答える