summaryrefslogtreecommitdiff
path: root/nuklear_ui
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2017-11-25 14:42:38 -0800
committerMichael Pavone <pavone@retrodev.com>2017-11-25 14:42:38 -0800
commitc6edea8bbaceda316375019344f4e7ffbf6da57e (patch)
tree4870173c19f665a9d56d415e1521141047fbed10 /nuklear_ui
parent2900092e4e06be77108ed6b8a66c7aa673d0b494 (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.c7
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();
}
}