diff options
Diffstat (limited to 'src/emu/video.cpp')
-rw-r--r-- | src/emu/video.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/emu/video.cpp b/src/emu/video.cpp index 981dd69672d..6e40d073ab8 100644 --- a/src/emu/video.cpp +++ b/src/emu/video.cpp @@ -892,16 +892,17 @@ osd_ticks_t video_manager::throttle_until_ticks(osd_ticks_t target_ticks) // loop until we reach our target g_profiler.start(PROFILER_IDLE); - osd_ticks_t minimum_sleep = osd_ticks_per_second() / 1000; osd_ticks_t current_ticks = osd_ticks(); while (current_ticks < target_ticks) { // compute how much time to sleep for, taking into account the average oversleep osd_ticks_t delta = (target_ticks - current_ticks) * 1000 / (1000 + m_average_oversleep); + if (!delta) + delta = 1; // see if we can sleep bool slept = false; - if (allowed_to_sleep && delta >= minimum_sleep) + if (allowed_to_sleep) { osd_sleep(delta); slept = true; |