diff options
| author | 2019-11-16 22:06:13 +0100 | |
|---|---|---|
| committer | 2019-11-16 16:06:13 -0500 | |
| commit | eab5bcac0029e4e298e1f194133c21580098508d (patch) | |
| tree | 6f7f3fd423089b85f15b09956ce7912f180bed0b /src/osd/mac | |
| parent | 7fc2f6805118f1e25c5e0b2a971f31e4f1b3b251 (diff) | |
Remove up to one frame of input latency. (#5901)
* Remove up to one frame of input latency. Makes MAME virtually lagless on VRR monitors.
* Use empty parentheses and clean interface member calls
* Add new option -instant_blit to make this feature optional
* Rename new option to -lowlatency, -ll
Diffstat (limited to 'src/osd/mac')
| -rw-r--r-- | src/osd/mac/osdmac.h | 1 | ||||
| -rw-r--r-- | src/osd/mac/video.cpp | 16 | ||||
| -rw-r--r-- | src/osd/mac/window.cpp | 3 |
3 files changed, 13 insertions, 7 deletions
diff --git a/src/osd/mac/osdmac.h b/src/osd/mac/osdmac.h index 1ed9e6b8a5b..13b680cf271 100644 --- a/src/osd/mac/osdmac.h +++ b/src/osd/mac/osdmac.h @@ -44,6 +44,7 @@ public: // general overridables virtual void init(running_machine &machine) override; virtual void update(bool skip_redraw) override; + virtual void input_update() override; // input overridables virtual void customize_input_type_list(simple_list<input_type_entry> &typelist) override; diff --git a/src/osd/mac/video.cpp b/src/osd/mac/video.cpp index 638e7a949b3..3f585458f8d 100644 --- a/src/osd/mac/video.cpp +++ b/src/osd/mac/video.cpp @@ -108,16 +108,24 @@ void mac_osd_interface::update(bool skip_redraw) // profiler_mark(PROFILER_END); } - // poll the joystick values here - downcast<mac_osd_interface&>(machine().osd()).poll_inputs(machine()); - - check_osd_inputs(machine()); // if we're running, disable some parts of the debugger if ((machine().debug_flags & DEBUG_FLAG_OSD_ENABLED) != 0) debugger_update(); } //============================================================ +// input_update +//============================================================ + +void mac_osd_interface::input_update() +{ + // poll the joystick values here + process_events_buf(); + poll_inputs(machine()); + check_osd_inputs(machine()); +} + +//============================================================ // check_osd_inputs //============================================================ diff --git a/src/osd/mac/window.cpp b/src/osd/mac/window.cpp index 3993b3502d2..d22268f86f4 100644 --- a/src/osd/mac/window.cpp +++ b/src/osd/mac/window.cpp @@ -499,9 +499,6 @@ void mac_window_info::update() // and redraw now - // Some configurations require events to be polled in the worker thread - downcast< mac_osd_interface& >(machine().osd()).process_events_buf(); - // Check whether window has vector screens { |
