Hello there.
I’m glad this topic is active because it’s been bugging me for years now.
I’m using computer monitors (VRR-capable Alienware 240Hz, different Viewsonic 120/240Hz models) and I always get the same results with RetroArch:
120/240 Hz physical refresh rate + VSync ON + VSync Swap Interval AUTO + Sync to Exact OFF = perfect frame pacing (no micro-stuttering) on near-60Hz games.
120/240 Hz physical refresh rate + VSync ON + VSync Swap Interval AUTO + Sync to Exact ON = bad frame pacing (micro-stuttering) on near-60Hz games.
This is on an VRR-capable system on GNU/Linux:
- AdaptiveSync LabWC Wayland compositor
- VRR capable monitors.
- FreeSync is active on the monitor and AdaptiveSync is active on the Wayland compositor
- AdaptiveSync is reported working by wlr-randr which is the modern equivalent to xrandr on Wayland-based systems.
The whole chain is correct.
Native games have perfect frame pacing (even 35 fps games on 120/240Hz video modes, like OpenTyrian, Chocolate Doom, etc) and, most interestingly, standalone MAME does have it too for games with all kinds of exotic framerates like MK, Caveman Ninja, Demon’s World… everything is absolutely perfect as expected with regards to VRR/AdaptiveSync, except in RetroArch (and dosbox-stanging… but that’s a different story).
For reference, MAME has to be set up like this:
Video options:
Window Mode - Off
Synchronized Refresh - Off
Wait Vertical Sync - Off
Advanced options:
Throttle - On
Adjust speed to match refresh rate - Off
Low latency - Off
I know this is NOT about standalone MAME, but since standalone MAME does VRR/FreeSync correctly, I want to give all the possible information.
As things are, on RetroArch, perfect frame pacing with “Sync to Exact” is only possible with severe compromises, but it may give valuable information:
- If Audio Sync is disabled, Sync to Exact provides perfect frame pacing in every core and game, but there are occasional (and expected) audio cracklings.
- Setting a 60Hz physical refresh rate on the monitor (instead of 120/240Hz, which are usually the recommended / default rates for these monitors), it’s also possible to have good frame pacing with Sync to Exact, but since VSYNC is also needed, this defeats the purpose and introduces input lag (60Hz + VSync will always introduce input lag no matter what).