2009-09-02 14 views

risposta

3

Misurare il tempo trascorso e contare il numero di fotogrammi. Divida uno per l'altro per dare frame rate.

Quando il tempo trascorso ha raggiunto un secondo o più se si desidera effettuare la media su un periodo di tempo più lungo, azzerare entrambi i conteggi e ricominciare.

+0

se sto usando sovrabbondanza e Faccio presente invito glutIdleFunc (oneFrame); Sto assumendo che il oneFrame sarà chiamato ogni frame è corretto? – Mike2012

+0

Credo di sì ma non sono così familiare con glut – jcoder

5

Attaccare un timer all'inizio del ciclo principale e verificare quanto tempo ci vuole per tornare indietro.

Sotto le finestre che si sarebbe fare qualcosa di simile:

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

Quello che ho detto solo con il codice effettivo in modo +1 (Anche se presume finestre ...) – jcoder

+0

Non che abbia menzionato la piattaforma o il linguaggio ... quindi il suo tempo di indovinare;) – Goz

Problemi correlati