summaryrefslogtreecommitdiffstats
path: root/docs/release/src/emu/video.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'docs/release/src/emu/video.cpp')
-rw-r--r--docs/release/src/emu/video.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/docs/release/src/emu/video.cpp b/docs/release/src/emu/video.cpp
index d8bea693005..fa0efb88a89 100644
--- a/docs/release/src/emu/video.cpp
+++ b/docs/release/src/emu/video.cpp
@@ -91,6 +91,7 @@ video_manager::video_manager(running_machine &machine)
, m_seconds_to_run(machine.options().seconds_to_run())
, m_auto_frameskip(machine.options().auto_frameskip())
, m_speed(original_speed_setting())
+ , m_low_latency(machine.options().low_latency())
, m_empty_skip_count(0)
, m_frameskip_level(machine.options().frameskip())
, m_frameskip_counter(0)
@@ -229,7 +230,7 @@ void video_manager::frame_update(bool from_debugger)
// if we're throttling, synchronize before rendering
attotime current_time = machine().time();
- if (!from_debugger && !skipped_it && effective_throttle())
+ if (!from_debugger && !skipped_it && !m_low_latency && effective_throttle())
update_throttle(current_time);
// ask the OSD to update
@@ -237,6 +238,13 @@ void video_manager::frame_update(bool from_debugger)
machine().osd().update(!from_debugger && skipped_it);
g_profiler.stop();
+ // we synchronize after rendering instead of before, if low latency mode is enabled
+ if (!from_debugger && !skipped_it && m_low_latency && effective_throttle())
+ update_throttle(current_time);
+
+ // get most recent input now
+ machine().osd().input_update();
+
emulator_info::periodic_check();
// perform tasks for this frame