From c6edea8bbaceda316375019344f4e7ffbf6da57e Mon Sep 17 00:00:00 2001 From: Michael Pavone Date: Sat, 25 Nov 2017 14:42:38 -0800 Subject: Avoid burning a huge amount of CPU in the menu when emulation is not running and vsync is disabled --HG-- branch : nuklear_ui --- nuklear_ui/blastem_nuklear.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'nuklear_ui/blastem_nuklear.c') diff --git a/nuklear_ui/blastem_nuklear.c b/nuklear_ui/blastem_nuklear.c index bcff610..4785de6 100644 --- a/nuklear_ui/blastem_nuklear.c +++ b/nuklear_ui/blastem_nuklear.c @@ -206,8 +206,15 @@ void blastem_nuklear_render(void) void idle_loop(void) { + const uint32_t MIN_UI_DELAY = 15; + static uint32_t last; while (current_view != view_play) { + uint32_t current = render_elapsed_ms(); + if ((current - last) < MIN_UI_DELAY) { + render_sleep_ms(MIN_UI_DELAY - (current - last) - 1); + } + last = current; render_update_display(); } } -- cgit v1.2.3