Jump to content
Sign in to follow this  
boez

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

Recommended Posts

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. (Edit: I presume!)

 

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 (Edit: entire app window) 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 (edit: flip immediate) mode results in an app that runs as well as the old Full Screen Exclusive mode but none of the disadvantages. 

Edited by boez
Clarification & accuracy
  • Like 14
  • Upvote 1

Share this post


Link to post
Share on other sites

And this way is also much better with gsync too..... and that will also completely eliminate any tearing too.

Edited by Ianrivaldosmith
  • Like 2
  • Upvote 1

Share this post


Link to post
Share on other sites
3 minutes ago, Ianrivaldosmith said:

And this way is also much better with gsync too..... and that will also completely eliminate any tearing too.

finally!

  • Like 1

Victor Roos

1014774

 

 

Share this post


Link to post
Share on other sites

@boez: Pre-update I had set my monitor to 30 Hz and Vsync to ON/60fps. The result was a buttery smooth sim. Post-update every setting I choose so far comes with microstutters. Do you think this is an inevitable result of the changes made?

  • Like 1
  • Upvote 1

Gigabyte Aorus Z390Master, i9-9900k @ 5.1 Ghz all cores, RTX 2080, 32 GB RAM

Share this post


Link to post
Share on other sites
32 minutes ago, Tom_L said:

@boez: Pre-update I had set my monitor to 30 Hz and Vsync to ON/60fps. The result was a buttery smooth sim. Post-update every setting I choose so far comes with microstutters. Do you think this is an inevitable result of the changes made?

I also use 30 Hz and Vsync to ON/60fps and have no post update stutters...(other than when complex scenery is loading - vsync cannot do anything about that sadly). In other words I'm pretty much getting the same experience as before but should say I've only had about 2 hours with the new version. It does seem smoother but I'll reserve judgement for now.

Even with a RTX 3090 (thanks Ian!) and 10700K the occasional stutter is part of the experience!

 

Edit: With higher spec GPUs the copy operation I refer to in my OP will be negligible and so in terms of increased fps or lowered GPU % useage I doubt you'd see any difference. Hence lower spec GPUs should see most benefit from this change but YMMV.

Edited by boez
Clarification
  • Like 1

Share this post


Link to post
Share on other sites

I previously had VSync OFF and FPS Unlimited. Since yesterday noticed the screen tearing and today, after reading this thread, turned VSync ON with FPS limited to 60 and no more screen tearing and the sim is fluid as always, no change in this regard.

Thanks for posting this.

Cheers, Ed

  • Like 3

Cheers, Ed

MSFS Steam - Win10 Home x64 // Rig: Corsair Graphite 760T Full Tower - ASUS MBoard Maximus XII Hero Z490 - CPU Intel i9-10900K - 64GB RAM - MSI RTX2080 Super 8GB - [1xNVMe M.2 1TB + 1xNVMe M.2 2TB (Samsung)] + [1xSSD 1TB + 1xSSD 2TB (Crucial)] + [1xSSD 1TB (Samsung)] + 1 HDD Seagate 2TB + 1 HDD Seagate External 4TB - Monitor LG 29UC97C UWHD Curved - PSU Corsair RM1000x - VR Oculus Rift // MSFS Steam - Win 10 Home x64 - Gaming Laptop CUK ASUS Strix - CPU Intel i7-8750H - 32GB RAM - RTX2070 8GB - SSD 2TB + HDD 2TB // Thrustmaster FCS & MS XBOX Controllers

Share this post


Link to post
Share on other sites
59 minutes ago, boez said:

Even with a RTX 3090 (thanks Ian!)

I justified mine now. I’m hitting 16GB VRAM over London in VR with the G2. Way out of 3080 territory 

  • Like 2
  • Upvote 1

Share this post


Link to post
Share on other sites

One thing I instantly noticed with the latest patch is that navigating the menus feels a lot smoother now, while they used to consistently stutter quite a lot previously. And I do have a very low-end GPU, so consequently performance is not too great with the hangar being rendered in the background. Thanks for the explanation!

  • Like 1

Share this post


Link to post
Share on other sites
19 minutes ago, Ianrivaldosmith said:

I justified mine now. I’m hitting 16GB VRAM over London in VR with the G2. Way out of 3080 territory 

Oh!  You don't have a 3090 do you Ian?  I never knew that.  You don't talk about it much! (lucky B******) 😀

Edited by bobcat999
  • Like 1

Call me Bob or Rob, I don't mind, but I prefer Rob.

I like to trick airline passengers into thinking I have my own swimming pool in my back yard by painting a large blue rectangle on my patio.

Intel 14900K in a Z790 motherboard with water cooling, RTX 4080, 32 GB 6000 CL30 DDR5 RAM, W11 and MSFS on Samsung 980 Pro NVME SSD's.  Core Isolation Off, Game Mode Off.

Share this post


Link to post
Share on other sites

I have a 3090 and a 144hz monitor. Previous  to  the update it was buttery smooth with vsync off. Is it recommended that I now  that  I turn vsync on? I'm on vacation and haven't installed the update yet.

Share this post


Link to post
Share on other sites

I just tried out the internal frame limiter again, and it finally seems to be working as intended. Turned all the settings and render resolution to the lowest, then locked the target to 20 FPS and now I'm actually getting constant 20 FPS instead of the stuttering 15-16 FPS before. And locking to 30 FPS gives me constant 30 FPS in the hangar.

9 minutes ago, bobcat999 said:

Oh!  You don't have a 3090 do you Ian?  I never knew that.  You don't talk about it much! (lucky B******) 😀

If I recall correctly he actually managed to secure two of them soon after they were launched. Did you get to sell the other one Ian?

  • Like 1

Share this post


Link to post
Share on other sites
16 minutes ago, ChaoticBeauty said:

If I recall correctly he actually managed to secure two of them soon after they were launched. Did you get to sell the other one Ian?

Yeah that would be to me 😊

  • Like 2

Share this post


Link to post
Share on other sites
58 minutes ago, Ianrivaldosmith said:

I justified mine now. I’m hitting 16GB VRAM over London in VR with the G2. Way out of 3080 territory 

3090 Asus rog strix OC also here + 1440p Asus 144hz ( g-sync). Let me know if V-sync ( nvidia control panel or ingame)  needs to be set ot On or off. Some users recommended Fast V-sync to avoid flickering

checking now with  nvidia v-sync ( use the 3D application setting)  and A32NX feels smooth with or with out in-game v-sync 

 


Intel Core i9-13900K | ASUS ROG STRIX GeForce RTX 4090 GAMING OC 24GB | ASUS ROG MAXIMUS Z790 HERO | DDR5 64GB 6000-30 Trident Z5 RGB | Corsair ICUE H170i Elite Capellix RGB | Corsair 7000D Airflow ASUS ROG Thor Platinum II 1200 Watt | Samsung SSD 990 Pro NVMe M.2 2TB & 1TB | Alienware AW3423DW | Asus ROG Swift PG279Q 27" Gaming Monitor | VKB-Sim Gladiator Mk.II | Thrustmaster TCA Quadrant Airbus Edition

Share this post


Link to post
Share on other sites

Hey everyone. First time posting here, but I've lurked a long time. I've noticed for the first time after updating yesterday that my mouse feels quite laggy when flying around in the game. I have a gsync monitor and have gysnc on and vsync off in the in game menu. Interestingly, if I turn Gsync off in the nvidia CP, the mouse is back being very fluid in game. Also, if I alt tab and open another windowed screen on top of the game, the mouse is also smooth. I don't want to turn off Gsync, but the laggy mouse is quite annoying and its the first time its been like this. I'm assuming its something to do with the switch? Anyone shine any light? Or have similar experience?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...