Screen tearing with recent Nvidia drivers

Until last spring, I was able to use retroarch with v-sync turned off and didn’t experience any screen tearing. Unfortunately, I’ve been getting pretty bad screen tearing ever since the 431.x drivers were released.

I can fix the tearing by using the 425.x drivers or by turning v-sync on, but neither of these are great solutions (as far as I know, v-sync introduces more latency).

Has anyone else had these problems? And is there a fix for them?

Further info:

GTX 1060 6GB GPU Open GL video driver (better shader support, which is very important for me) Fullscreen exclusive mode I’ve had this problem on both Win 7 and Win 10 LTSC This problem exists on all cores, as far as I can tell

Maybe the older driver was forcing Vsync on for RetroArch for some reason. Then it wouldn’t matter if you had the option on or off. Vsync is really the only way to prevent tearing outside of using a Gsync or Freesync display, and even with those you still want Vsync on in RA for proper frame pacing. Well, I suppose there is also beam-racing, but that hasn’t been implemented in RA yet.

Vsync on with hard sync enabled has quite an acceptable level of lag, IMO. If you use the Vulkan video driver with max swapchain set to 2 it’s supposed to be even better. And you can also play around with increasing frame delay and turning on runahead to further reduce lag.

1 Like

You can try RTSS sacnline sync in fse mode with vsync disable to hide tearing with less lag. It has some drawbacks of it’s own depending on your preferrence. It’s possible that before you were actually in borderless mode and in that case DWM would be preventing tearing.

1 Like

I was definitely in fullscreen exclusive mode, so maybe

Is right.

I’ll give both suggestions a try. If there is any kind of extra lag, I think my CPU should be good enough for an extra frame of run-ahead.

If you use vsync in retroarch, you should get less input lag than forcing vsync in the driver, which is obviously what was happening before. You can also set the “max swapchain images” to 1 in the RA video sync settings to minimize vsync lag (vulkan), or enable “hard GPU sync” (GL).

If you want zero vsync lag, then I’m afraid your only option is to get a VRR display (gsync/freesync.) RTSS scanline sync might work, but external frame limiters do not play well with emulators.

1 Like