Question

Quelle serait la meilleure façon de mesurer le taux de trame de mon programme OpenGL?

Était-ce utile?

La solution

Mesurer le temps écoulé et compter le nombre de cadres. Diviser un par l'autre pour donner la fréquence d'images.

Lorsque le temps écoulé a atteint une seconde, ou plus si vous voulez en moyenne sur une période de temps plus longue réinitialiser les deux cas et recommencer.

Autres conseils

Collez une minuterie au début de la boucle principale et tester combien de temps il faut pour obtenir là-bas.

Sous windows vous faire quelque chose comme:

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.    
}

SPF (secondes par image) est un peu plus d'information métrique.

Si vous êtes sous Windows, il suffit d'utiliser Fraps.

http://www.fraps.com/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top