From aea00f757d7b7dd35b5ece378678de937039e0f4 Mon Sep 17 00:00:00 2001 From: Yanyan Jiang Date: Mon, 6 May 2019 18:36:36 +0000 Subject: [PATCH] litenes: lock FPS to 60 --- apps/litenes/src/fce.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/apps/litenes/src/fce.c b/apps/litenes/src/fce.c index e1918a86..4c739de7 100644 --- a/apps/litenes/src/fce.c +++ b/apps/litenes/src/fce.c @@ -5,7 +5,7 @@ #include #include -//#define NOGUI +// #define NOGUI int key_state[256]; bool do_update = false; @@ -85,27 +85,24 @@ void fce_init() cpu_reset(); } -static unsigned long gtime; +static unsigned long frames; void wait_for_frame() { + frames++; #ifdef NOGUI return; #endif - if (!do_update) return; - - unsigned long cur = uptime(); - while (cur - gtime < 1000 / FPS) { - cur = uptime(); + while (1) { + unsigned long expect = uptime() / (1000 / FPS); + if (expect >= frames) break; } - gtime = cur; } void fce_run() { key_state[0] = 1; - gtime = uptime(); int nr_draw = 0; - uint32_t last = gtime; + uint32_t last = uptime(); while(1) { wait_for_frame();