login

<     >

2018-01-22 19:12:22 (UTC-02:00)

Marcel Rodrigues <marcelgmr@gmail.com>

example: better frame rate algorithm.

diff --git a/example.c b/example.c
index fcde372..8360285 100644
--- a/example.c
+++ b/example.c
@@ -26,7 +26,7 @@ main(int argc, char *argv[])
     int i, j;
     Uint32 pixel;
     int ret, paused, quit;
-    Uint32 t0, t1;
+    Uint32 t0, t1, delay, delta;
 
     if (argc != 2) {
         fprintf(stderr, "usage:\n  %s gif-file\n", argv[0]);
@@ -101,7 +101,10 @@ main(int argc, char *argv[])
         SDL_RenderPresent(renderer);
         SDL_DestroyTexture(texture);
         t1 = SDL_GetTicks();
-        SDL_Delay(gif->gce.delay * 10 - (t1 - t0));
+        delta = t1 - t0;
+        delay = gif->gce.delay * 10;
+        delay = delay > delta ? delay - delta : 1;
+        SDL_Delay(delay);
         if (ret == 0)
             gd_rewind(gif);
     }