summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjacksonmj <mj-pt@jacksonmj.co.uk>2011-04-21 20:57:07 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-04-22 23:52:59 (GMT)
commitaa3f475edc754ba84b65d83106b91104ac827854 (patch)
treea40662ce7cd832b0d344dc7734e69ba7f157f422 /src
parent3e1ff2094c2a05885ee88dd51c17b7bb97500c81 (diff)
downloadpowder-aa3f475edc754ba84b65d83106b91104ac827854.zip
powder-aa3f475edc754ba84b65d83106b91104ac827854.tar.gz
Stricter frame rate limiting
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)
{