diff options
author | Michael Pavone <pavone@retrodev.com> | 2017-11-25 14:42:38 -0800 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2017-11-25 14:42:38 -0800 |
commit | c6edea8bbaceda316375019344f4e7ffbf6da57e (patch) | |
tree | 4870173c19f665a9d56d415e1521141047fbed10 /nuklear_ui | |
parent | 2900092e4e06be77108ed6b8a66c7aa673d0b494 (diff) |
Avoid burning a huge amount of CPU in the menu when emulation is not running and vsync is disabled
--HG--
branch : nuklear_ui
Diffstat (limited to 'nuklear_ui')
-rw-r--r-- | nuklear_ui/blastem_nuklear.c | 7 |
1 files changed, 7 insertions, 0 deletions
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(); } } |