My 2070 SUPER VR settings and suggestions (Index - SteamVR) 🟢

Hi,

This post is the follow up to my series of settings and suggestions post. They are becoming increasingly popular and I’m glad it is helping others and I thank you all for your feedback!

Other posts in the series:
My 2070 SUPER 4K settings and suggestions - episode 2
My 2070 SUPER VR settings and suggestion (Reverb G2 - WMR)

Please vote and help having VR wish list topics in next Q&A and Dev blogs:
Dev Q&A and Feedback Snapshot: please make a VR only category

My wish list topics (please vote!)
Cockpit Size and World Scale in VR
EFIS Screens Problems and Solutions for higher legibility
Ambient Night Lighting illuminating more than a full moon
Provide a Sharpen strength setting, and more post-processing effect controls in VR
Implement a metering system better suited for VR
Increase distance threshold to see other aircraft navigation and strobe lights
TAA is transforming road traffic into ghosts (self-cancelling moving pixels)
Render the Sun with a fading disk when bloom is disabled
Bake Ambient Occlusion in the cockpit when Ambient Occlusion is disabled
Night lighting issues still present - The community solutions
Can you please add a “Sun Glasses” mode :sunglasses: ? (not a joke)
Add support for mouse wheel to change the UI settings sliders
FS2020 is breaking the VR golden rule: don’t move the camera, the user is
Let users adjusting the Render Scale setting by increments of 5 or 1 (instead of 10)

In general, the settings are carefully adjusted in comparing how individual and combinations of settings were affecting the overall fps, and with my understanding and practical knowledge of how the 3D rendering pipeline is working behind the scene.

I’m not pretending this is the best overall plug-and-play solution to the FS2020 performance issue some of you are having either, but you might find these are good and solid basis to build upon for your systems to get started with. This is also highly dependent on CPU, RAM and other things on your own systems so your mileage will vary.

These settings were adjusted for a system running:

  • 9700K@4.6
  • NVidia 2070S w/8GB (not oc.)
  • 32GB RAM.
  • FS2020 1.12.13
  • Win10 20H2
  • Nvidia 457.30

I hope these will help you enjoying FS2020!

NB: if you’ve already read “My 4K Settings” and “My VR Settings (G2)”, most of the NVidia and Win10 chapters are similar. I’ve updated some of the content and will propagate it back to the other discussions in the coming days. I’m tagging new content with the following label for a few days so that you can quickly find them out inside the similarly named chapters: (new paragraph).


Introduction

There are several items contributing to the overall performance of FS2020, some are intrinsic like its settings and others are solely system related. Overall the system has a bucket of resources per-frame and both the OS and the simulator rendering engine must be tuned to fit as much as possible into this bucket. In effect some of these settings can be detrimental to the performance because they could sometimes take too much room and fight with others trying to take their spot in the bucket.

I’ve also noticed the FS2020 rendering engine might be prioritizing some of the settings if there is contention and the visual outcome might sometimes be contrary to what you’d expect. It is like having less buildings drawn in the distance despite maximizing the draw distance. This makes sense because besides the time resource in a bucket (how many ms before next frame) and the speed at which the video card can process the pixels, there is also a finite resource of VRam and when a resource takes a chunk the video card might discard another one. If the demand is higher than the resource, the driver and the engine will have to constantly stream resources and this is causing a performance hit. This is exactly the same problem when the OS is paging memory on a HDD because too many programs are using the available RAM.


NVidia Settings

(new paragraph)
I’d recommend you use NVidia Driver 457.30 for VR (and 2D actually) with a 20XX and 30XX *.

You might want to also read:
What NVidia Drivers are recommended for VR
How to install Nvidia drivers properly when trying out different versions

*I’ve also tested 416.14, 452.06 and 460.89 but they were giving either more stutters or less fps in general. If you’re using a RTX 3060 you’re stuck with the known Nvidia drivers VR bugs (my suggestions are mitigating most of the problems but they are not entirely eliminated).

FS2020 executable is hidden inside the WindowsApps folder. In order to customize settings for this program, I believe selecting “Show only programs found on this computer” is sufficient. Otherwise, run and close FS2020, then open the NVidia CPL and click Add, it might be appearing at the top of the list when you select “Recently Used”.

Comments

The idea is to reduce the amount of time between the moment the engine finishes rendering the next frame and the time the video card is displaying it. This might contribute in also freeing some VRam resources because there is no need to buffer as much but I’m not entirely sure.

The combination of Low Latency Mode, Threaded Optimization, Vertical Sync settings and Virtual Reality pre-rendered frames, is the one which is giving me the smoothest stutter free experience. However unlike “My 4K Settings” I believe “Low Latency Mode” and “Virtual Reality pre-rendered frames” are the only important ones in VR because the Valve Index is running in NVidia Direct Mode and it is not considered as a regular monitor.

You could eventually change Texture Filtering Quality to ‘Quality’ but I’m not sure how much this is really making any change both visually and to the fps.

With the NVidia 457.30 driver and Win10 20H2, I’ve found it is now better setting Threaded Optimization ON. (with older versions of drivers and simulator, threaded optimization was having an impact on my system and was better off).

Win10 Settings

Comments:

Hardware-Accelerated GPU scheduling (HAGS) and Game Mode must be turned OFF since FS2020 update 7, and/or NVidia 457.30. It is otherwise causing lots of CPU/GPU sync problems in VR and it introduces lots of stuttering.

:warning: You must launch Steam Client prior entering VR mode (not SteamVR) otherwise FS2020 will drop every other frame, when using SteamVR 1.15.x and Win10 HAGS ON (this can happen also with HAGS OFF but not as often).

VRR is not having any influence in VR, however I have it ON because I’m reducing juddering when flying in 3D with my monitor (see “My 4K Settings”)*.

*NB: Win10 VRR is mandatory of UWP applications, Win32 apps only need the NVidia CPL settings.


SteamVR Settings

(new paragraph)
SteamVR includes both its own proprietary API (OpenVR) to communicate with the Index headset, and the SteamVR OpenXR driver to communicate with the application.

FS2020 is using OpenXR (OXR), a VR Application Programming Interface (API). It is independent of Windows Mixed Reality (WMR) or SteamVR (OpenVR) and Its value proposition is to make any application instantly compatible with any headset as long as there is an OpenXR driver for it.

Once you’re in FS2020 VR mode, you can adjust per-application video settings (FS2020 in the drop down list) and I’d recommend the following to get started:

Comments

Refresh Rate must be set to 90 when first entering VR otherwise it CTD more often. However once in VR you can change the setting to 80 or 120 live while still in VR. However it seems there is a strong link to 90Hz since FS2020 Update 7 and using any other refresh rate doesn’t always give the expected Hz/2 or Hz/3 fps in the simulator.

Display Brightness is really giving a sense of being outside when set to 160% but FS2020 is overexposing too much and clipping whites. I just use 130% usually in VR (HLA etc…)

Motion Smoothing is not working properly with simulators in general and it is no different with FS2020 (wobbling behind the propellers, wings shape deforming and blending with the ground, image hiccups from time to time, etc…). In addition it is taking some valuable resources and therefore, I leave it to disabled.

NB: some will argue they can’t use VR if it is not refreshing above 45fps or without Motion Reprojection which is virtually creating new inter-frames to compensate (it is more complex than this but think of the “Sport Mode” on your TV which renders 120Hz or 240Hz from a 60Hz signal). In practice if you can bear juddering, or if you give it time to get accustomed to, I’d suggest you read the following for more information:
Why do I prefer 30fps stable with juddering rather than 90fps with motion smoothing

Custom Resolution Multiplier is probably the most important setting you’ll be “playing” with. In short, it is telling what is the maximum resolution FS2020 is rendering the views (each eye). You can get additional fps in making FS2020 rendering less pixels with a lower render scale, but at the same time, you’d get less sharp visuals.

It is important to note this setting can be tailored to your advantage beyond a simple resolution adjustment and I’m explaining all this below.

NB: the Valve Index panel resolution is 1440x1600 but because of its lenses design and optical properties, the nominal image resolution an application must render is 2016x2240, which corresponds to 100% Render Resolution in SteamVR.

Tip: I prefer setting my global SteamVR Render Resolution to 100% and then adjust per-application multiplier. This ensures SteamVR will not automatically change my experience and I can get consistent and reproducible settings when changing headsets.

Tip: What counts most is he Final Resolution. This is the number of pixels FS2020 will render for each view:
Comparing Reverb G2 and Valve Index resolution and what does it mean with SteamVR and OpenXR

SteamVR Extras

(new paragraph)
My settings on the G2 are showing me I can push my test system to rendering 2K x 2K in VR at a smooth and constant 30fps in dense/photogrammetry areas, and higher in sparse areas (try Hawaii for example). My recollection of test flight during the beta also lead me to think there is a problem with the latest SteamVR release and beta versions.

In effect, the main difference between my G2 and Index settings are the Terrain LOD and Object LOD values (50% with Index and 100% with G2). The reason is during my flight tests I’ve noticed, monitoring frame timings using the SteamVR graphs, that during fast turns there was an increasing number of stuttering over photogrammetry areas (testing around KSNA). I’ve attributed this to FS2020 sending large chunks of vertices (geometry) and the VR software stack being held up from processing the frames during this time. In reducing the Terrain LOD to 50% I’ve managed to workaround this to acceptable levels. However, there is no such hiccups with the G2 (at least not as visible).

I was hinted about using another SteamVR version (I don’t remember who, please let me know so that I can credit you) and after trying I do find it is actually greatly reducing stuttering so that I can even raise both LOD settings to 100% most of the time:

  • Open Steam Client, go to Library
  • Right click SteamVR and select Properties
  • Select the Betas tab (on the left)
  • Pickup the following in the drop down list:
    linux_v1.14 - Older build, for Linux users

Steam Client will download this version which will show as SteamVR [linux_v1.14] in the Steam Library list. Although you’re running on Win10, I believe this only means “use the same Windows SteamVR version as the version available for Linux”.

Screenshots comparing the fps overlay bar graphs between linux_v1.14 and v1.15.x


Balancing Visuals and Performance

(new paragraph)

Although we all wish being able to render FS2020 in VR at 90Hz at full resolution, we must admit it is only a desirable goal. In the meantime, we can develop strategies to get the most of our hardware and this is what this chapter is about.

To get started, FS2020 rendering depends on 3 factors:

a) Render Resolution (FS2020 Graphics Settings | Render Scaling)

This is the real number of pixels the simulator is drawing every frame. This is also the reference to which FS2020 is rendering EFIS screens: the higher the render resolution, the more pixels and better legibility. It has less impact on other graphics features such as knobs, buttons, levers or analogue gauges because these are usually larger than their equivalent representation in a virtual EFIS screen.

b) Post-Process Resolution (SteamVR Custom Render Scale)

This is the real number of pixels the simulator is presenting the views in the headset every frame. When the render resolution is lower, FS2020 is enlarging the pixels to fit. It is important to note SteamVR will be processing images at the SteamVR render scale. The larger the scale, the heavier the motion reprojection computations for example.

c) Post-Process Filtering (hidden setting in the UserCfg.opt file)

This is the technique used to convert the lower res. render into the higher res. display. Please note FS2020 is using the CAS Shader. In most cases you shouldn’t disable it in VR on the contrary. In effect, “CAS” means Contrast Adaptive Shader and it is sophisticated and efficient shader code capable to almost “create” new pixel when enlarging the images from render resolution to post-process resolution and can be used to our advantage.

Comments

Balancing visuals and performance consists in pushing FS2020 to rendering up to the limits of the hardware, and then displaying it as if it was a higher resolution image. However, because FS2020 is using the render resolution as a reference for the EFIS resolution, there are different strategies to use depending on the type of aircraft gauges and the expected visuals.

In order to approach this, I’ve first adjusted FS2020 settings in order to get a solid basis capable of rendering near the optimal Index resolution at 2K x 2K pixels at 30fps with a good tradeoff between important visuals for the pilot and agreeable rendering effects for the view. I’ve then tried nearly all combinations of resolutions with GA analog, GA EFIS and Airliners in order to find the ones capable of sustaining the rendering resolution while maximizing the perceived visuals in the headset.

From all the possible combinations, only a few are sufficiently remarkable for the hardware I’m running and I believe, given their inherent resolution ratio properties, they are most likely the only one you might want to consider whatever your hardware. These are also working really well including dense photogrammetry regions in most cases.

I’m recommending the following render scaling settings:

FS2020 SteamVR Comments
TAA 60% SS 220% Breathtaking visuals and crisp enough EFIS with solid fps (my fav)
TAA 100% SS 78% Best for Airliners where EFIS sharpness is more important than external view
TAA 70% SS 100% Best for analog gauges GA aircraft with good and detailed outside view.

Please note: these are selected to match the unique Index resolution and might not always apply to other headsets. TAA ## means FS2020 Render Scaling, SS ## means SteamVR Render Scale.

NB: It appears the CAS Shader is giving the maximum pixel/perf ratio around 70% and this has been one of the driver for selecting these combinations.

Tip: The key to EFIS legibility is the TAA ## value. However this also depends on the distance you’re looking the EFIS at. Thanks to using 78% resolution in SteamVR I can use 100% TAA with adequate fps. This makes EFIS screens readable without the need to lean over much. You might also want comparing the two other variations which are giving similar fps but different legibility. The Index will never reach the clarity and details you can get with the G2 but I find TAA60+SS220 giving the best looking inside or outside the cockpit given the 1440x1600 panels.

Tip: If you’re flying in less dense areas, or your hardware gives you enough room, I’d suggest you settle on one of these ratios for the aircraft you’re flying and raise only the lower of the values by 10%. For example, flying the A320 over Hawaii, you change from 100/78 to 100/80 instead. Conversely, flying a light GA you change 70/100 to 80/100 instead. Other combinations might not be worth it both in terms of visuals and performance.


VR Graphics Settings

(new paragraph)
The general approach I’m choosing to configuring FS2020 is to identify the settings I consider essential from a pilot perspective (like windshield effect, gauge refresh rate, anisotropic etc…) and set them to a certain acceptable value performance wise. In addition and specifically for the Index and its average panel resolution, it is paramount I balance the settings so that I can push as much pixels as possible so that the picture quality is the highest. From then, I can adjust the others so that they fill the frame budget GPU and CPU wise without overflowing. These settings are comfortably able to push near 2Kx2K pixels at 30fps.

These settings are trying to maximize visible range, legibility and the information most important to the pilot, while not sacrificing fps but I’ve also chosen some of these in order to make it simpler adjusting further for your systems and on your flight conditions (see comments below). They are providing a solid base when using either GA Aircraft or Airliners, whether in rural and empty regions or a major Airport.

NB: most test flights were conducted mostly with the DA40 with Garmin EFIS over the Los Angeles region with photogrammetry and multiplayer. If you’re mainly flying in sparse areas or analogue GA aircraft you can certainly raise some of the graphics settings for better visuals, starting with Terrain LOD and Clouds, followed by Ambient Occlusion and Reflections.

Comments
The main driver for these settings is maximizing what is important from a simmer perspective visually. Some of the settings are really impacting the fps a lot and must be tuned down in order to give enough smoothness on this hardware but some others can be bumped up without too much differences. However there are a number of settings which I find paramount and I’d rather trade others.

For example, higher anisotropy is helping rendering better looking textures in the distance and therefore is helping the pilot spotting important features like VFR landmarks and/or distant runways. Similarly Windshield Effects is much better in HIGH when you’re flying under rain (breathtaking experience in VR!).

Glass Cockpit Refresh Rate HIGH is helpful for two reasons: first it gives enough EFIS update rate which is necessary for the pilot detecting “trending” changes when needles are moving for example. But it is also mandatory because otherwise, because FS2020 is refreshing EFIS every other frame(s), it is causing stutters (see my detailed post about this).

On the other hand, Bloom is really a matter of taste and is taking some fps but not much. Similarly you can use Shadow Maps 1024 or 1536 without much fps difference (the later gives much better aircraft ground shadows under the wings) but I’d rather leave some room and use a slightly lower value. I wish I could push Volumetric Clouds higher but MEDIUM is surprisingly giving a nice experience in VR (depending on the whether conditions of course).

Custom Adjustments
Flying in VR with this hardware is finding a tradeoff between visuals and performances. Therefore more often than not you’ll be chasing the best fps and you’ll be adjusting the settings to reach this goal (you can’t beat that!). Although most settings are impacting the final fps to different degrees, there are also a few most important above all others: Clouds and Terrain LOD.

In addition, FS2020 VR seems to be affected by CPU bottlenecks more than in 3D. It is important to understand raising the Glass Cockpit Refresh Rate is demanding more CPU, but raising Terrain LOD or Buildings and Trees is also demanding more CPU (so it seems).

After having conducted a lot of comparative tests with different aircraft and sceneries, I’ve came to the conclusion the best approach to me would be to settle on a baseline upon which I could adjust with limited efforts the overall fps while flying. This requires having a baseline which at least is nearly stutter free and my experience in the simulator is showing the settings shown above are delivering.

In order to stay under the hardware limits and experience stutter free flying while having some room for adjusting graphics depending on the conditions, it is easier to use a good enough baseline working in most cases and just have to bother with a couple settings only. For example when using these settings with a GA aircraft over a rural area I could raise Clouds to HIGH and/or Render Scaling to 110% for crispier readouts. Conversely flying an Airliner in a busy international airport, I would reduce Terrain LOD to 50% and eventually lower Clouds to LOW. In both cases I’d get solid fps overall and solid visuals because the other settings are visually good enough while sparing some resources I can use for Terrain LOD or Clouds.

Tip: Don’t forget to also set FS2020 Graphics Settings (2D) | V-Sync : OFF (thanks @CodeLoran69 for this). It seems if any VSync is enabled in NVidia, 2D or VR settings, your HMD rendering will be limited to your monitor refresh rate.

VR Traffic Settings

These are often forgotten but they can have an impact to the overall fps. I prefer more road traffic because it is more immersive and ubiquitous in any city flying, and keep the other to sane minimums in VR for performance reasons (compared to "My 4K Settings). In effect I find these are taking too much CPU in VR and I prefer lowering them a little bit (mostly Aircraft Ground Density for now).

fs2020_settings_traffic_vr_4

Sound Settings

This one is important in VR, or at least with both the Valve Index and the Reverb G2: I’d suggest you disable Spatial Sound otherwise it doesn’t sound properly when turning your head.

fs2020_settings_sound_vr_3


Power Profile

One last item which might prove giving you some boost is using a hidden Win10 power profile:

  • Open a cmd prompt / powershell window and type the following:
    powercfg /DUPLICATESCHEME e9a42b02-d5df-448d-aa00-03f14749eb61

  • Open Win10 power profile and use the newly created “Ultimate Performance” profile.

PS: use at your own risk, I don’t know whether this is also affecting thermal throttling.


Graphics Settings Backup / Restore

Should you want to experiment with my settings but you’d like to keep a backup copy of your own settings, the Graphics Settings are saved in a json file here:

Store Version:

C:\Users\your_login_name\AppData\Local\Packages\Microsoft.FlightSimulator_#############\LocalCache\UserCfg.opt

Steam Version:

C:\Users\your_login_name\AppData\Roaming\Microsoft Flight Simulator\UserCfg.opt

Make a copy of the UserCfg.opt file for backup, you can copy it back to revert the graphics settings.

NB: this file is versioned and a copy for a previous version might not work as-is in a future version. However should you want to restore past settings, the file structure shouldn’t change much and you can always try to manually match the entries from the saved backup with the entries in the current file.


Further Comments

Would you be able to explain more why you selected Low Latency to “on”
Comparing Reverb G2 and Valve Index resolution and what does it mean with SteamVR and OpenXR
How does Gauge Refresh Rate is causing more stutters if not set to HIGH
EFIS resolution depends on render resolution, not post-processing resolution.
Why do I prefer 30fps stable with juddering rather than 90fps with motion smoothing
Why I don’t recommend using Process Lasso
How to change Full Screen Optimization for the FS2020 MS Store version properly

NVidia Drivers:
What NVidia Drivers are recommended for VR
Table of NVidia Drivers release notes highlights from 446.14 to 461.09
How to install Nvidia drivers properly when trying out different versions
Known issue: NVidia drivers causing stutters in VR

SteamVR:
How to override the SteamVR IPD value
You can use the SteamVR OpenXR driver with any WMR headset
Can I use these settings with the Oculus Quest 2?

AMD/Intel tips:
Turn off your CPU SMT/HT in the Bios and unleash your VR fps

FS2020:
What is the CAS Shader (info and demo app)


VR Technology Explained

This is great in-depth material which is not just talking about technology:
Advanced VR Rendering with Valve’s Alex Vlachos (slides)
Advanced VR Rendering with Valve’s Alex Vlachos (video)
Advanced VR Rendering Performance (video)

48 Likes
My 2070 SUPER VR settings and suggestion (Reverb G2 - WMR)
Absoultely awful performance on lowest settings using 3070
We REALLY need DLSS for VR to be viable
10FPS with RTX 3080 in VR with Reverb G2. Solutions?
Quest 2 Quality
So will this work with my Valve Index?
[BUG/FEATURE] EFIS Screens Problems and Solutions for higher legibility
Made a discovery about supersampling last night! There IS a difference between what in-game rendering scale and steamvr/oculus etc's SS does
100% vs 60% Render Scale
Stuttering Fix?
Virtual Desktop issue
Blurry from a far. Clear when up close? Cockpit specific
Favor Please. Step by step guide to setting up Oculus Rift S
PSA: Fix Found for Oculus Link/Quest Frame Sync Stutters and ASW Issues
Terrible VR performance with top end Ryzen / 3080 system
VR settings that work for me - Reverb G2, RTX 2080Ti, R3900x
FS2020 is not using all the GPU and CPU power in VR - Could this explain the low performance?
WMR Scaling and Dev Tools - Some Explanations
Absoultely awful performance on lowest settings using 3070
Version 1.12.13.0 Significant loss of performance
VR - Express your first impressions
HTC VIVE first generation
FS2020 Through-thelens
My 2070 SUPER VR settings and suggestion (Reverb G2 - WMR)
Valve index settings thread!
Stutters on planes with monitors
Help, VR not working after uninstalling steam VR & Steam
VR - Unplayable
So what's the Best VR headset to use in MFS so far?
Time frame on next VR update from Asobo?
Htc vive steam vr settings
VR Perfection - HTC Vive Pro & a Pair of Ray-Ban Sunglasses :)
Very poor perfomance in VR mode
A Bass-Ackward way to get great settings, fast!

[Update 19NOV2020 - Win10 20H2]

Changes:

  • update NVidia CPL screenshots, comments.
  • update SteamVR comments about refresh rate.
  • added Win10 Graphics Settings comment about VRR
  • update VR Graphics Settings, comments, with 2 options/tradeoff
  • added VR Traffic Settings and comments.
  • added graphics settings backup/restore.

I’ve further adjusted my settings because I’ve now updated to Win10 20H2. I get marginal fps gain and they are fine in VR. The most notable change is:

With the latest NVidia drivers 457.30 and Win10 20H2, I’ve found it is now better setting Threaded Optimization ON. (with older versions of drivers and simulator, threaded optimization was having an impact on my system and was better off).

I’ve also added the Win10 Graphics Settings screenshot because it is also important to set VRR there too if you have a Freesync/GSync monitor (see “My 4K Settings” for this).

Overall I get a nice VR experience with these. I’ve an additional chapter to add about SteamVR refresh rate (80, 90. 120. 144) but I’ll do it later.


[Update 26NOV2020 - FS2020 1.11.6 (Update 7)]

I’ve been further exploring optimization opportunities since my last update and I’ll update my settings screenshots and some comments. In short, instead of trying to get the highest fps, I’ve approach the settings differently in trying to get the smoothest fps so that I can eliminate most of the stutters (unrelated to juddering). Therefore since my last update I’ve been trying to stay as much as possible locked to 30fps while making sure there is not CPU/GPU sync hiccup intervening and dropping the fps further.

In effect, I’ve discovered there is a ■■■■■■■■■■■ feature with FS2020 which is limiting the fps to an integer divisor of the Valve Index refresh rate (for example at 90Hz it locks to 45, 30 or 22.7fps). I was even using this to my advantage when for example I was able to push 42fps, in setting SteamVR to 80Hz in order to lock to 40fps, otherwise it would lock to 30 only.

In approaching the settings to get a smooth 30fps instead of a constantly alternating 22.7/30/45 fps depending on the context, I’ve noted it is perceivably still smooth enough in most conditions. Of course at 30fps don’t wish you’d also get smooth updates when looking 90 deg to the side during takeoff close to the ground.

The best part of this is in order to achieve the goal of locking in to 30fps you have to ‘saturate’ the GPU so that you’re heavily GPU limited. This is good because it means you can raise your visuals and have a better looking view! Beware, not all settings play nice with this strategy and here is a short list of my findings for you to try out if you want until I update my post in the coming days:

  • NVidia CPL Threaded Optimization must be ON (not AUTO). It helps a lot reducing the GPU/CPU sync slowdowns/spikes I can monitor clearly with fpsVr.

  • I don’t see much performance difference if any between NVidia CPL Texture performance and the other Trilinear optimizations, therefore I’m favoring Quality now (until I also cross check against “My 4K Settings”).

  • I’ve disabled GPU Scheduling also for now. I’m not sure it gives any advantage yet and today’s tests were giving better results overall. It is quite subjective at this stage though.

  • Render Scaling is better 100% or 70% (this is CPU/GPU dependent). When using any other value I can see the CPU taking a lot of processing time, constantly, whereas with 100% for example it is freeing the CPU for other things. I’ll therefore probably just keep the ‘legibility’ option which is using 100% TAA and adjusting render resolution in SteamVR instead. NB: for my 30fps goal, I also use 100% render scaling in SteamVR and I get a very nice and sharp picture!

  • Ambiant Occlusion, even if LOW, seems to be causing a lot of CPU activity when close to the ground mostly. It is bad to have stutters on short final and in many of my tests, I can get rid of most of these with AO to OFF.

  • I suspect the fps-lock feature I’ve mentioned above is either FS2020 hard coded or OpenXR (I never noticed such behavior in other games but I might have not paid much attention either). Although I could select 80hz or 90hz with update 6 and choose whether I’d prefer getting 40fps or 30fps, with update 7 I find anything other than 90hz is causing a lot of CPU/GPU sync issues (red spikes in fpsVr). It depends on the load of course and therefore it depends on the aircraft you’re flying and location.

With these I can raise some important settings (SteamVR 100%, TAA 100%, Terrain LOD 100%, Buildings High, Trees High, Clouds Medium) and get a smooth flight over Los Angeles with lots of clouds and multiplayer aircraft around me. There are even times I can push clouds to HIGH and this is really looking good considering it is rendering 2x2016x2240 pixels!

However I still can’t enable motion smoothing in SteamVR because it is creating too much wobbling at 30fps. So although I can see juddering (this is what makes you see the image de-doubling when looking to the side for example) I’m fine because most of the time I’m flying I’m not making constant aerobatics figures either.

I hope this will give you some additional opportunities on your hardware, and I’ll update my screenshots and the explanations with them in the coming days!


[Update 03DEC2020]

Changes:

  • update Win10 Graphics Settings and comments (Game Mode OFF).
  • update SteamVR Settings and comments (78% instead of 80%).
  • update VR Graphics Settings and comments (different strategy with a baseline and 2 custom adjustments).
  • update VR Traffic Settings and comments (slightly lower values).
  • added Sound Settings and comments.
  • corrections, additional comments and cleanup.

Since I’ve created this discussion I’ve flown much more hours in various conditions and settings and I came to new conclusions and decisions regarding how the best I can maximize the experience. This is an interesting journey which I hope is also helping you along the way!


[Update 07DEC2020]

I’ve been trying different things over the weekend I’d like to share.

NVidia drivers

First, because the stutter bug in VR due to the NVidia drivers is still not corrected, and probably won’t be until 2021, and because their latest driver seems causing even more problems overall for more users, I’d rather stick to 457.30 for now.

Nevertheless I’ve tried: older drivers which are often cited giving better fps in games and comparing game ready (GR) vs studio (NSD) . These were 452.06 (GR and NSD) and 457.30 (NSD) in that order. 452.06 is working fine globally and is only giving slightly less fps. However starting with 452.06 NSD I tend to have less stutters (NVidia stutters and/or CPU/GPU red lines in fpsVr) than the previous flight I did still with 457.30 GR. I then tried out 457.30 NSD and although it was good overall too regarding the stutters it was still slightly less good in 2D regarding fps (with My 4K Settings).

Therefore I reverted back to 457.30 GR in the end and this is where it interesting: it could be luck, placebo or whatever but I was getting less red spikes with 457.30 GR. It could be due to installing all these driver one after the other during the day (NB: I didn’t use DDU because it is really not needed in 99% of the time in my opinion, therefore I was installing driver over driver).

Yesterday I could even enable Win10 Game Mode again and this is no longer causing more red spikes, but today it seems better with Game Mode OFF. I still don’t get why FS2020 VR experience is sometimes changing so much depending on the day?!

You might want to try out installing 457.30 NSD, reboot, then installing 457.30 GR over and see whether this is just placebo or effective, you never know if installing NSD might cleanup a few stuff helping GR driver working a little better afterward :crazy_face: (and I’ll have to confirm this over multiple days and I can still see the NVidia VR stutters in fpsVr, just slightly less of those yesterday during this experiment).

Render resolution

Second, I might have found something about how FS2020 rendering is working in relation with SteamVR SS and FS2020 Render Resolution which makes me revising the 80 SS + 100 TAA idiom.

In effect, each HMD is reporting its ‘ideal’ render resolution, which is the amount of pixels applications must render to in order to have best visuals. This is based on the HMD lenses and visibility mask needing more pixels in the center because or the pre distortion stage necessary to compensate the lens distortion:

In my initial tests I was under the impression setting the SteamVR SS would change the rendering size FS2020 was using. Therefore in using SS80+TAA100 I was expecting it would render less pixels and these would be clear because it won’t use TAA upscaling. In effect it is clear even if SteamVR has to enlarge a lower res render, which in the end is not much visible a difference in the Index because its native resolution is still much lower than SteamVR SS80.

Having said this, OpenXR specs have no meaning for SteamVR SS unless SteamVR OpenXR driver is using SS value as the recommended resolution. You can see there are 2 sizes ( recommendedImageRect and maxImageRect ) only:

https://www.khronos.org/registry/OpenXR/specs/1.0/man/html/openxr.html#XrViewConfigurationView

With this information in hand, I’ve tried another approach thinking in fact FS2020 is only using recommended resolution value and TAA Render Resolution is telling FS to rendering at a fraction of this resolution. Therefore I’ve tried TAA70 and different SteamVR SS in order to see whether I could count more pixels as SteamVR SS increases or not. If not, it would tell OpenXR recommended resolution and/or maximum resolution (whichever FS is using) is not changing with SteamVR SS value (whether this is bug or normal). And I can tell I don’t see resolution changing.

After trying a certain number of combinations I’ve found out I get best balance (pixels/fps) and near same visuals, if not better, with the following:

FS2020 TAA 70 + SteamVR SS 140

This is giving me nearly as clear EFIS text as with TAA100 + SS80 but this is more importantly giving more room to raise other VR settings and have less FS2020 induced stutters, notably I can more comfortably raise Terrain LOD from 50 to 100.

NB: TAA80 or TAA90 cost/benefit ratio is not as good and with the next CAS Shader FS2020 is using it gives really neat results with TAA 70 (the same I’m using in My 4K Settings)

I’ll have to give it more time and tests but this is really something you might want to try out on your systems as well and report in this discussion which you prefer between TAA70+SS140 vs TAA100+SS80 !


[Update 08DEC2020 - Render Resolution (continued)]

I’ve further tried many different combinations of TAA and SS in order to find the sweet spot. The main question I had was whether there is any particular threshold or if it scales linearly. Also I was wondering whether in raising SteamVR SS I could compensate lowering Render Scaling TAA enough.

After doing many tests it appears to me there is performance barrier of some sort anytime rendering resolution is reaching 2K x 2K (roughly). If one of the two dimension is slightly below 2K I can see degrading performance once the other gets above 2K too. It is the same kind of performance barrier I’ve experienced several months ago with the G1 and XP11, and this could be due to the specific video card brand and/or the 2070 chipset alone (this could explain why I get similar performance with TAA100 + SS80 because this equates to approximately the same number of pixels).

I also found TAA 80 or TAA 90 cost/benefit is not as much as TAA 70. It is like a bell curve where anything below is really degrading graphics and everything above is degrading performance.

For best picture at distance, sharp analogue gauges and legible EFIS (my goto settings in bold):

FS2020 SteamVR Render Res. Post Process Res. Comments
TAA 70% SS 160% 1783 x 1982 2540 x 2832 best visuals at a distance
TAA 70% SS 150% 1722 x 1912 2460 x 2732 very good visuals vs perf overall
TAA 70% SS 140% 1668 x 1853 2384 x 2648 better in urban/dense areas

You might want to explore some alternatives too:

FS2020 SteamVR Render Res. Post Process Res. Comments
TAA 60% SS 180% 1617 x 2097 2704x3004 best fps but only for analogue gauges.
TAA 80% SS 130% 1830 x 2035 2288x2544 better for EFIS but not as sharp in the distance
TAA 100% SS 78% sharper EFIS with good outside view *

*This was my initial best combo I’ve documented last week. One advantage of this combination is you can raise TAA to 110% and get crispier visuals not only up close but in the scenery. This is surprisingly compensating a lot SteamVR SS set to 78%

I’d be pleased to get you feedback and experience in exploring these on your systems!


[Update 13DEC2020 - Render Resolution (continued)]

This will conclude my tests today and I’ll wrap this all up:

  • Glass Cockpit Refresh Rate is the main source of stutters (see my two other posts for details)
  • My test system (9700K + 2070S) is perfectly capable rendering VR in 3K x 3K with SteamVR at 30fps (see below)
  • HAGS is killing VR with NVidia 457.30 and SteamVR

So let’s be quick and to the point: I’ve just had the 2 best flights I’ve ever had in FS2020 VR tonight!

You can try this too in doing this:

  1. Set Terrain LOD to 50% (didn’t try 100% tonight)
  2. Set Glass Cockpit Refresh Rate to HIGH
  3. Set all VR Traffic sliders to 10% except Road Vehicles to 50%
  4. Set SteamVR Super Sampling to 220% and FS2020 TAA to 60% and Motion Smoothing disabled.
FS2020 SteamVR Render Res. Post Process Res. Comments
TAA 60% SS 220% 1792 x 1992 2988 x 3320 breathtaking visuals and crisp EFIS

This is massive pixel amount (see table) giving lots of details in the scenery and ground textures. EFIS are nearly as legible as the TAA100/SS80 I was recommending before, and are better than with TAA70/SS150. But that’s not all: I get smoother and more regular fps with 60/220 now that I’ve set gauge refresh rate high and HAGS off.

I’ve been flying around KSNA with the DA40NG and the Scattered Clouds preset with online multiplayer and this was just great, both daylight and night. I’ve also been flying around EDDF with the A320 and the same clouds preset but there I just needed to lower Volumetric Clouds to LOW in order to get similar smoothness.

Here is a screenshot at KSNA I couldn’t help sharing:

NB: I know 30fps seems quite low but my experience shows what matters most is not the “best fps” but the “stutter free fps” instead, and a constant 30fps with no stutters feels really good in FS2020. This looks even better than this screenshot in the Index headset!

NB: although it was the smoothest experience I’ve got, I didn’t measure with fpsVr (because it seems these tools are inducing some stuttering in the recent NVidia drivers). It was only a “feeling” and therefore it is also subjective, but after flying so many hours comparing settings and visuals I can assure you this is not placebo on my system. The only stutters remaining were the ones most likely from the NVidia drivers. With the A320 I could see from time to time a stutter every 1 sec, like clockwork, otherwise some other times it was most likely loading something. Otherwise there is still perceptible stuttering when turning, more or less varying in frequency, and I’m starting to suspect the EFIS code refreshing in the background and causing this (especially the navigation logic JS code shared among nearly all gauges).

Please let me know if this is also giving good results for you!


[Update 22DEC2020 - FS2020 Sim Update II]

I’ve now updated some comments and the settings screenshots (and values) so that this is reflecting the latest findings I’ve published over time!

There hasn’t any big change in terms of performance that I can notice. However there is a problem with some of the latest SteamVR causing more stuttering than when I’ve first started FS2020 VR Beta. In any case, the key with the Index and SteamVR is to set your Terrain LOD and Object LOD no more than 50%. This is helping a lot reducing stuttering especially over photogrammetry regions, and because of the lowest resolution of the Index you shouldn’t notice much difference in the ground textures, only a shorter draw distance for building and trees (compared with Terrain LOD 100%).

Please note these settings are working as a whole: you can afford some settings on one end (for example Gauge Refresh Rate HIGH in order to eliminate game induced stuttering) only because you’re lowering some other settings on the other hand, and because you’re disabling HAGS and Game Mode while running NVidia 457.30 driver, etc…

Now it’s time I’m preparing the same discussion for the G2! (in short, same base settings overall but with Terrain LOD and Object LOD 100% + Bloom + a few others higher up).


[Update 29DEC2020]

I’ve now updated the OP with additional information coming from “My VR Settings - G2” in order to make both posts consistent.

I’ve also added a new SteamVR version to try out which is highly reducing the stuttering introduced with SteamVR 1.15.x and I’d suggest you also try it out.

5 Likes

I’ve seen split opinions on windows game mode; can I ask your reasoning for utilizing it?

This is a good question! I’ve never used it in the past and as a matter of fact I even believe I used to disable it. Lately I’ve came across some “configuration recommendations” for gaming which were mentioning this settings which I had forgotten it existed.

I’ve since enabled it and I don’t see any particular loss or gain but I’ve not explicitly compared whether it is actually making any difference with FS2020. I might take some time in the coming days trying without and compare.

However the other settings I’m detailing do make a difference and are worth considering.

1 Like

I’ll be trying your settings shortly based on the in-depth write up! I hadn’t considered any NCP settings so I’m excited to try them. HP Reverb with a 3700x and 2080s and I’d be thrilled if I can get good playability at 100 render! I also hadn’t considered vsync or low latency mode since those are big no-nos in the first person shooter world from whence I came :stuck_out_tongue: I forgot that those are ideal for low fps issues (flight sims being the first time I’ve felt this struggle).

1 Like

When I’ve written up “My 4K Settings” it was clear the Nvidia CPL Settings were very important and I could achieve much higher fps with no stutters at all in carefully adjusting them. I’ve found out the same settings are also best in VR.

So in the end I just need to remind myself I have to change Threaded Optimization to ON when I plan to use VR or to revert back to OFF for 3D. (I’ll revisit whether I still need to set this to off for non-VR flying in the coming days though).

Let me know how it goes on your system!

2 Likes

HOLY ■■■■! THANK YOU THANK YOU THANK YOU

I always thought that some settings could be changed in the Nvidia CPL just didn’t know where to start. I am finally hitting 60-70fps non-VR with your settings, I am astounded. Thank you. Now to try to get to 30fps consistently in VR without it looking like ■■■■.

Thank you for the excellent depth and knowledge in this post.

2 Likes

Thanks very much for taking the time to write this guide, definitely helped me get more performance out of my 2070 Super!

1 Like

Thanks OP!

I’ll use your founds as a base for my configuration even if it differ from your (I7 10700K, 32GB Ram, GTX1080 OC 10%). I learned here which settings have the most impact so it’s helpful. Just had a short time to test the sim in VR yesterday, and performance was awful (between 40 and 45fps ASW auto) but that’s expected as I didn’t change anything but render resolution at 100% (CV1 is already enough low restitution to go below). I’m confident I’ll find the good balance :slight_smile:

1 Like

Nice write up, I’m about to give them a try. I also found that setting the sharpen filter in UserCfg.opt to 0 ( C-Users-name-AppData-Roaming-msfs smoothes the edges of clouds, reducing the blockiness, and improves fps a bit.

1 Like

I’ve explored this, along with disabling both EyeAdaptation and ColorGrading (which makes the out-the-cockpit-window world not over exposed by the way) in order to compare whether these would save some more fps, but it was marginally helping overall. On the other hand I’ve made more tests yesterday and I’ll be publishing updates in the coming days (maybe some today).

I’m generally trying to find/detect what is really affecting the performance but I don’t want to sacrifice any visual which I deem being essential for the pilot. For example, I prefer Windshield HIGH for this reason, and I can’t bare the surrealistic Ambiant Occlusion if it is set above LOW. But I’m also trying to find a suitable balance so that wherever I’m flying I keep an average consistent fps and a limited min/max variation. This is most pleasant because once you reach this balance you don’t care about your fps anymore and you just enjoy flying (it is a habit for most simmers I guess to constantly check and chase the fps LOL)

Having said this, I’ve tried in a most empty place yesterday, namely in the Carribean and it was really so fine I’ve managed to bump clouds to HIGH while achieving a solid and very confortable in practice 45 fps, 95% of the time! This was great.

2 Likes

I’ve just posted a number of updates and I’ll have more to come. In the meantime, here are 2 screenshots from yesterday’s tests, in radically different aircraft/location for comparison, with fpsVr information displayed:

NB: fpsVr average fps is since the beginning of the session through different tests. I’ve not find how to reset the counter yet. The captured fps in the shots is what I get in average with some minor variations.

PS: You can see the masks are taking a lot of pixel estate in the Valve Index. This is why besides the panel resolution, what is important is also how much of this resolution is in your eye sight (the masks are there to prevent the video card rendering pixels which are not visible due to the optics). I know the Reverb G1 has a very small mask and probably the G2 too, so that not only it has higher panel resolution but proportionally the video card must render much more pixels in percentage. I’m wondering how far I could push the G2 once I get it but I know I’ve been pleased in XP11 with the G1 vs the Index regarding fps.

KPAO in the DA40

KSFO in the B787

I find I’m messing more with the settings than enjoying the flight, I do this in my racing sims as well in vr.
If I ever get hold of one of these new unobtainium cards and cpu, I’m hoping it will end. Probably not though. :sob:

3 Likes

This is why yesterday I took a break (well not really because I was trying my new settings) in flying in Princess Juliana vicinity with clouds all around me I’ve been able to push to HIGH while flying and enjoying the view at 45fps. I didn’t touch the settings more than thrice during the 1 hour flying around session and I enjoyed it for once!

2 Likes

Thanks for all the tips. It gave me a good guide to get a steady 38fps with ultra clouds and water. By the way, how did you manage to get fpsVR in a non-steam games. Are you able to see it while in VR? Any help would be appreciated. I noticed that other are asking for a better FPS tool in MSFS. Thanks

1 Like

Thank you for sharing your experience, I’m glad this could be helping others!

fpsVr displays with SteamVR, including if the application is using OpenXR via SteamVR. I don’t do anything special though, fpsVr is just configured to automatically start with SteamVR.

I used to attach the fpsVr overlay to the right wrist so that I only display it on demand, but with FS2020 not using any controller and them automatically turning off after a few minutes, I’ve just simply attached the overlay to the helmet while I was trying out adjusting the settings. This is handy because you can easily glance at the values whatever your head is oriented to.

NB: on my screenshots above I’ve manually opened fpsVr desktop just to make it visible in the screenshot. I believe next time I’ll use the SteamVR view instead which renders both eyes and everything you see in the helmet, including overlays.

That explains it. Thanks.

@CptLucky8,
Could you please clarify your process to execute fpsVR. You said “the application is using OpenXR via SteamVR” but I am simply running WMR Portal (which then runs OpenXR) then starting MSFS2020. How do I involve SteamVR?

Edit: OK - you do this with the Valve Index - not a WMR Headset

Thanks, Dave W. PC=(9700K@5Ghz, RTX2070, Reverb G1 and G2) Win10 20H2

This doesn’t depend on using the Index. It only depends on using SteamVR instead, and you can use a WMR HMD with SteamVR in using “WMR for SteamVR” app. This will work great for any OpenVR application (the VR API from Valve).

I’ve raised the question whether you could using SteamVR OpenXR implementation for a WMR HMD, you might want to try out and let us know in the following discussion:

(link to a detailed post, see a few posts above for the context)

https://forums.flightsimulator.com/t/full-screen-mirror-view/320078/16

Thanks CptLucky for this thread
I personnaly put reflection to high to get a more realistic scenery

Has anyone tried to enable manually VRSS?
i know this can be done even if the game doesn’t support it officially. Not sure what results to expect though…