V1.13.16.0 - screen tearing not a bug but a design change

(Also posted at Avsim).

Quick answer:

Post update (1.13.16.0) MSFS now used a DXGI swap chain which allows for (actually designed for) a frame rate unthrottled by vsync but this has the side effect of allowing screen tearing to be observed. This was a design change by Asobo.

Solution to the screen tearing:

If you want to run MSFS in fullscreen mode then switch on vsync in either the in-game setting or nvidia control panel.
If you don’t want to use vsync then run in windowed mode (you can make the window almost as big as the desktop but just not the exact size of the desktop).

Longer answer:

The DXGI swap chain coordinates the handling of a frame drawn by the app on its journey to the screen. The app, Desktop Windows Manager (DWM) and graphics card all are involved in this.

Prior to this update MSFS used a basic form of the swap chain called “Copy Blt[sic]” which was always subject to vsync restrictions placed on it by DWM.

The downside of this method is need to copy the entire screen at some point in the chain - this takes time. The upside was no screen tearing could be seeen.

This latest version of MSFS uses a mode called Flip (discard) which does not need that screen copy. However, if you run MSFS in a window using this mode then DWM still applies vsync but retains the speed increase of not needing a copy.

BUT you run MSFS in fullscreen mode (note this is still NOT full screen exclusive) then DWM removes that restriction and leaves control of vsync up to the app itself. This is called Flip (discard) immediate. DWM takes a back seat. DirectX detects when the app is completely covering the screen and uses this to switch into that mode. Note any other windows open on top of MSFS will results in thst mode not being applied.

This mode was added to DirectX to remove the latency inherent in any swap chain that involved vsync being turned on but the cost is that screen tearing can be observed. It is generally accepted that use of this flip mode results in an app that runs as well as the old Full Screen Exclusive mode but none of the disadvantages.

27 Likes

What’s about Gsync? I have 2 monitors. Gsync enabled for the Fs2020 and now it causing also tearing on my second montior while surfing on youtube for example. Has it to do with that?

kind regards

Great explanation, thank you

Putting on V-sync solves the problem in full screen, but does it also effect framerate?

So let’s assume I don’t care about Screen Tearing, I want to play the game on full screen and have the most FPS out of it.
What should I do?
Enabling Vsync would kill my FPS completely, so enabling it is not an option.
Thanks boys

I haven’t tried the update yet, but do you have Gsync AND Vsync switched on in the nVidia Control Panel, with Vsync switched off in FS?

Vsync is off in the sim and also off in the control panel.

I remember this is how Gsync works … I just enabled Vsync too and now everything is fine. You made my day. THX !

In Nvidia CP i only have vsync on/off for choices, but the description for fast/adapative/etc is there

Laptop with a rtx2070
Driver 461.40

So is your V-Sync on in just the sim? Do you have V-Sync and G-Sync on or off in your Nvidia control panel?

No problem!

For any game, Gsync AND Vsync should always be on in the control panel, with any in-game Vsync setting switched off. I don’t get tearing in any game with it set like that.

If any game’s fps is capable of regularly exceeding your monitor’s refresh rate (unlikely with FS), set an fps limit of -3fps (so 141fps on a 144Hz monitor) in-game if possible, or in the NV Control Panel if not.

Does your laptop have Gsync?

No.
Its a MSI gp75 leopard

EDIT: did a complete uninstall & reinstall of the driver with DDU and still the only choices I have is ON/OFF

what ever they done, it seems they also fixed with it the Vsync Bug (fullscreen).

The settings of “30” is now in-game the correct first Vsync-Step and not the second.

Awesome explanation here @AboezD - thanks!

Thanks for the great explanation @AboezD.

I set my V-Sync to “Fast” and don’t see any issues.
everything works perfectly.

1 Like

So does anyone know what V sync to choose? In game or through Nvidia Control Panel? Is one more efficient than the other?

Has anyone else noticed mouse lag in the sim now? With Gsync ON, its pretty laggy. With it off, there is no mouse lag. The lag has never been there prior to yesterday’s patch.

I thought something had changed with vsync as soon as took off for the first time after the patch.
Despite what everyone else used to recommend I always got the best results on my system with the Monitor refresh set to 60Hz, and the ingame VSync set to on with a 30 fps limit. Vsync and frame limit off in the Nvidia control panel.
I used to get really smooth 30 fps performance with no tearing.
After yesterdays patch it was awful, tearing, frame rate dropping to low teens and generally unplayable.

I have played around a bit with the settings and whilst it’s not as good as before it’s now just about bearable.

So now I am using Vsync and fps limit in game to off, Frame limit in Nvida control panel set to 30 and vsync in Nvidia control panel set to fast with my monitor on 60Hz. Need to experiment a bit with the half frame rate option too.

I never had any luck with my Gsync before, used to make it worse.
Will have to experiment a bit more now things seem to have changed.

If I can get it back to my silky smooth 30 fps I had before the patch I’ll be happy.

1 Like

How does popping out instruments to another monitor affect this new mode?

I used to be able to run 30-35 frames with my PFD and MFD popped out to other monitors prior to this update. Now I see to be struggling to hit 20-25 in the same areas I normally fly with the same settings. I tried flying over London and it dropped me down to single digits.

Although I will say that despite the lower frame rates I was experiencing, the frame rate seemed to be more consistent than before. But 20-25 is still pretty bad considering the system I’m running it on.

1 Like