Stuttering issues

I am trying to understand why I’m getting constant stuttering no matter the core I’m booting in RA. I expect my computer to be more than powerful enough to run Mesen or bsnes at 60 fps considering it’s sporting an i7-11700k and a RTX 3070. And yet here we are…

Now, here’s the odd thing. It looks like frames are constantly dropped, but there are no lag spikes and RA frame counter seems stable enough. I need to mention that I have a 144 hz 2160p gsync monitor, but in order to test this I disabled gsync right at the monitor level, and switched the refresh rate to 60 Hz. I even went back to a 1080p test monitor to be sure, but the same thing happens.

Enabling vsync in retroarch does fix the issue, but the stutters are still present somewhere because they show up in recordings made by OBS (although I have confirmed that OBS is not dropping a single frame). So, I can get a smooth visual experience, but unfortunately my 60-fps recordings are full of massive stutters, all the while the computer is not breaking a sweat so what gives?

Here’s a capture from RA, frame time deviation seems way too high, could it be related? And how could I go about fixing this?

1 Like

Wait I just realized. How can I get 9 ms of frame time if the content runs at 60 fps? I could understand higher than 16 ms frame time, meaning the frame took too long to render, but lower than that…? Does it mean that the GPU is spending too much too idling, creating inconsistencies? I’m puzzled.

If you switch both the CPU (windows power settings) and GPU (nvidia control panel) to performance mode, does it fix it?

1 Like

GPU is already on “prefer maximum performance” and windows power settings on high performance.

OK I tried using d3d11 and glcore drivers (usually I run with vulkan) and I noticed that shader compilation with those drivers takes more than 40 seconds compared to 3-4 seconds with vulkan. Also, compilation seems to defer to a single CPU core. Am I missing something?

Here’s something else that doesn’t seem to make sense. I start a RA core without vsync enabled, and I’m getting the numbers posted in the OP. If I then enable vsync while this core is running, nothing happens, it doesn’t sync and the numbers are the same. If I enable gsync (in RA) suddenly it syncs perfectly, with 16 ms frame time and less than 1% deviation. No stuttering (at least on screen, I’m still geting random stutters in recordings, but only on the game capture, but whatever).

Now this is weird because the monitor has gsync disabled. I tried disabling it in nvcp and even on the monitor itself. Also, if I disabled gsync in RA, the core stays in sync. And if I then disabled vsync it remains so. Perhaps those settings cannot be really updated live, or is it part of my issue here?

I realized I run RetroArch from the standalone package. Could it be I am missing some requirements to run it properly? After a clean refresh of Windows 10 I find myself forced to run the DirectX runtime installer, otherwise sound doesn’t work, but video does. However I do not see any mention of this, I will try the RetroArch installer directly but it would be great if someone could post the actual requirements for everything. Vulkan I assume only requires up-to-date nvidia drivers, not the Vulkan API package?