How to calculate FPS in OpenGL?
18,742
Solution 1
You should put it in the display loop. Here's an article that explains some intricacies of game loops that you should read.
Solution 2
If you have any kind of synchronization routine I suggest you place the call just after that, ie prior the big calculations. Otherwise the timing calculations can be shaky and give different values each loop...and a note, it's better to have a steady FPS than a fluctuating FPS just to maximize it. The fluctuation even so subtle makes the viewer/player aware that it's all a game and the immersion is lost.
Related videos on Youtube
Author by
Mzq
Updated on June 04, 2022Comments
-
Mzq almost 2 years
void CalculateFrameRate() { static float framesPerSecond = 0.0f; // This will store our fps static float lastTime = 0.0f; // This will hold the time from the last frame float currentTime = GetTickCount() * 0.001f; ++framesPerSecond; if( currentTime - lastTime > 1.0f ) { lastTime = currentTime; if(SHOW_FPS == 1) fprintf(stderr, "\nCurrent Frames Per Second: %d\n\n", (int)framesPerSecond); framesPerSecond = 0; } }
Should I call this function in
void play(void)
orvoid display(void)
?Or it does not make any difference?