summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/main.c b/src/main.c
index 381106b..a235131 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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)
{