diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.c | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -4267,16 +4267,21 @@ int main(int argc, char *argv[]) FPS++; currentTime = SDL_GetTicks(); elapsedTime = currentTime-pastFPS; + if ((FPS>2 || elapsedTime>1000*2/limitFPS) && elapsedTime && FPS*1000/elapsedTime>limitFPS) + { + while (FPS*1000/elapsedTime>limitFPS) + { + SDL_Delay(1); + currentTime = SDL_GetTicks(); + elapsedTime = currentTime-pastFPS; + } + } if (elapsedTime>=1000) { FPSB = FPS; FPS = 0; pastFPS = currentTime; } - else if (elapsedTime>20 && FPS*1000/elapsedTime>limitFPS) - { - SDL_Delay(5); - } if (hud_enable) { |
