From ecf0e6c8292a01773b3bb2f8ce48c1e023877cf0 Mon Sep 17 00:00:00 2001 From: kichikuou Date: Sun, 15 Sep 2019 12:38:01 +0900 Subject: [PATCH] Reduce frequency of nact->callback to once per vsync --- src/nact.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/nact.c b/src/nact.c index dde41d8..c801e84 100644 --- a/src/nact.c +++ b/src/nact.c @@ -190,15 +190,15 @@ void nact_main() { nact->wait_vsync = FALSE; while (!nact->is_quit) { - for (int cnt = 0; !nact->wait_vsync && cnt < 10000; cnt++) { + for (int cnt = 0; cnt < 10000; cnt++) { + if (nact->wait_vsync || nact->popupmenu_opened || nact->is_quit) + break; DEBUG_MESSAGE("%d:%x\n", sl_getPage(), sl_getIndex()); - if (!nact->popupmenu_opened) { - int c0 = checkMessage(); - check_command(c0); - nact->cmd_count++; - } - nact->callback(); + int c0 = checkMessage(); + check_command(c0); + nact->cmd_count++; } + nact->callback(); #ifndef __EMSCRIPTEN__ if (!nact->is_message_locked) sys_getInputInfo();