The good news: The relatively new variable refresh rate runloop works rather well for me!
The bad news: …up until the intended rate exceeds my monitor’s range.
I’m working with a ViewSonic XG2700-4K monitor, which has a FreeSync range of 40–60Hz. This means that when I emulate NTSC NES and SNES with their rates of ~60.1Hz it doesn’t quite work out right. In non-windowed fullscreen, I see horizontal tearing that crawls slowly up the display. In windowed mode, I get smooth sailing for a good few seconds and then a couple obvious frame skips, then repeat.
This is Windows 10, so I’ve tried widening the monitor’s range slightly using CRU, but that hasn’t worked. My current workaround is to set the cores I’m using for those two systems to not use the VRR runloop, but this means that I lose the advantage of automagically enjoying 50Hz smoothness when I slap in a PAL game.
Is there a way to coax RetroArch to check the display’s VRR range, or at least to manually set the range and have RA clamp its framerate to that?