Hmm, using VRR plus frame limiting is not something I know much about. I know one of our contributors uses frame limiting without VRR, and he basically just turns off vsync and cranks up the auto frame delay, AFAIK.
I somehow remember an option to use core reported timings (59.97 fps for example) however I cannot find it anywhere, maybe I am imagining it. I thought maybe this could help.
Try using ‘Sync to exact content framerate’ and turn Vsync (in RA) off. You can enable the fast Vsync in Nvidia control panel if you want.
Thanks, I have both already set in RA, turning fast vsync in NVCP didn’t help.
Please see the thread here: https://forums.libretro.com/t/recently-noticed-frame-pacing-issues-when-using-vrr-in-retroarch/43686/57?u=anikom15
We are using the 240p Test Suite drop shadow test. If you get a smooth shadow with little flickering, consider that a good result. Turn off audio first to make sure it is not cause for issue, then play around with synchronization settings. I suggest using Vulkan or D3D12 as those should have the best performance for your 3070 ti. I have a 4060 ti so we are on very similar hardware platforms.
Cap it to 60FPS for RetroArch, Set Vsync On in RetroArch, Disable (Automatic) Frame Delay, Enable Sync To Content Refresh Rate, Most Importantly, click Set Display Reported Refresh Rate.
Hey @Cyber you nailed it! thanks! I did set the refresh rate to 60.002 hz as it was what RA detects, I assume that’s the way to go right?
Whatever works. I’ve seen instances where setting the Estimated Refresh Rate resulted in frame pacing issues but Setting the Display Reported Refresh Rate worked.
Also, Setting Vsync interval to Auto is important as well if running the desktop at a different or higher refresh rate than the content refresh rate.
Hi @Cyber I wanted to consult you on the disadvantages of using fake integer scanlines, because as you know, on 1080p they become very useful with small screen bezels like this one:
Using a global integer scale here will zoom the image way too much and hide the cabinet, so I opted for fake integer scanlines instead, but since I’m still a beginner in tweaking scanlines and masks; I thought I should ask an expert before committing to this approach in my setup.
I thought you were never ever supposed to hard cap the framerate for emulation. Whenever I tried this, the game would feel slowed down and choppy.
In my NVCP I have GSync and Vsync on (as recommended basically everywhere).
In Retroarch video output: Vertical refresh rate: 120.000 set display-reported refresh rate: 120.000
Then in Retroarch video synchronization: Vsync on Adaptive Vsync off Sync to exact content frame rate on
Never had any issues whatsoever. Everything runs butter smooth.
Why would anyone cap max frame rate to 3 fps below max for emulation?
A bit off topic for here but with these things, ignorance is bliss and once you start analyzing and noticing things then it’s impossible to unsee them.
Are you sure you want my opinion as to what’s wrong with your screenshot?
There are different ways to tackle this, including using Bezel Independent scaling (and Curvature) and stuff like that but if you want curvature on both the X and Y axis of the tube/viewport itsefl, you’re goint to have to deal with compromises.
I have examples of how I would approach this in my CyberLab Special Edition Folder in my CyberLab Mega Bezel Death To Pixels Shader Preset Pack.
Probably because they’re confused between running PC games with unlimited/variable framerates and emulated console games which have fixed framerates by following advice which applies to the former but not necessarily to the latter.
I don’t see a problem once it’s at or above the framerate of the content or at or below the refresh rate of the display. It definitely limits/regulates GPU usage which can have positive effects when it comes to boost/temperature headroom and frame pacing(time) consistency.
I think I have had issues in RetroArch when limiting framerates to 100Hz, so I set my global limit to 100Hz while my limit for RetroArch is set to 60Hz.
Hmm, so you are saying that as long as the frame cap isn’t below 60, this should work? This makes sense. Last time I tried this was on a 60 Hz TV, so limiting the Frame Rate below 60 lead to slowdowns on my end.
Sorry about that, the reason I asked here is that I’m using your MBZ pack as an example.
Thanks for pointing me in the right direction on curvature, I had no idea how much it can affect moire, so I’m trying a new approach with the following:
HSM_USE_SNAP_TO_CLOSEST_INT_SCALE = "1.000000"
HSM_CRT_CURVATURE_SCALE = "0.000000"
This comes at the cost of “jagged” screen edges, though. And probably more things I didn’t notice, so I might just turn it off completely.
I’ve played Day of the Tentacle on the ScummVM core this week. Both on a debian based distro with x11 on a 4K display at 60Hz and on an arch distro with wayland, QHD display at 140Hz with Freesync. And I had to cap the framerate to 25 or 30 in the ScummVM core options, video section, to avoid stutters when using shaders.
Which is not a problem at all, because those games were running often below that on real hardware. And the shader on top was running at the refresh rate set in the RA settings, with noise and hum bar effects moving smoothly, despite the frame cap in the core itself.
Oh and I also played some PSX games running at barely 20FPS, I think about good ol’ Armored Core, but that also seems on par with the real deal from what I remember. Which makes me think you may want to test and tweak some overclock settings in the core options to get more stable frametime depending on the game maybe? Or in the case of the PS2 core see if there’s a patch that could be applied?
I think there’s no one size fits all.
It definitely would.
On my 60Hz displays or on any display when the desktop resolution was set to 60Hz, I limited my frame rate to 60fps.
As stated above, when using VRR/Sync To Content Refresh Rate and using a desktop refresh rate set to any refresh rate 60Hz or higher, I limit my frame rate in RetroArch to 60fps.
I’m not saying or suggesting that anyone else should, though. I’m just stating what works for me.
SNES reports 60.1 refresh rate, dosbox can go up to 70hz, so capping is not recommended
Try with Rolling Thunder arcade, that goes beyond 60 hz. I do not cap Retroarch but do use VRR, and everything runs butter smooth here.
Are you monitoring your frame time? Uncapped 120hz gives me unstable frame time even if FPS might look like a stable 60fps in monitoring. The only way I am able to get absolute stability in frame time is capping RA to 60 FPS in Rivatuner and setting 60 in output settings, I can also keep auto frame delay on.
What’s preventing someone from setting their cap to 60.1 or 61fps or 70fps? Also, if someone has a 60Hz display its only going to go up to the max it can handle regardless which may or may not be exactly 60.000Hz.

