In this article we look at the Nvidia control panel settings that control the rendering of Microsoft Flight Simulator frames.
This article is a subsection of
How to Optimise MSFS for VR
Choose the Game Ready Driver for performance, the Studio Driver is offered when stability is paramount for things like video editing.
How to Reduce the Nvidia Container Count
Until recently I had GeForce Experience loaded, to tell me when a new river was available. I haven’t used its other features. However, Nvidia adds in processes called ‘containers’ that provide services for other tasks, and there are many more when GeForce is installed.
The following lists were taken from Task Manager:
On the left is the list of containers that are loaded when GeForce Experience is installed. On the right is the list of containers that are active when only the driver has been installed. One of the most problematic containers is associated with the GeForce telemetry.
You can remove the use of containers altogether by manually selecting the parts of the driver to be installed which is described in this video by 2020 fs’ers, but it takes several steps and you will need to repeat the process each time you update the driver. It’s not hard to do but its another complication in a very complicated environment.
I have opted to accept the normal driver installation since I do not want to interfere with the driver’s operation as well as being more convenient overall.
How to Prepare the Nvidia Control Panel
- Right-click the desktop to open a menu
- Open the ‘Nvidia Control Panel’
- On the left-hand pane select Manage 3D Settings
- In the right-hand pane choose the Program Settings tab
- Under Select a program to customise select Microsoft Flight Simulator
- If you don’t see it listed, press the Add button to add the Microsoft Flight Simulator.
- You will be changing settings in the global and program settings tabs
I suggest you configure NVidia’s ‘Global Settings’ tab if flight sims are your main interest, that way you can experiment in the ‘Program Settings’ tab without losing your default set.
Be aware that some settings are only available in the Global Settings tab, so if you cant find what you are looking for in the Program Settings, be sure to also check the Global Settings.
If you have an Nvidia card you will see results from changing these settings. This section is a blend of my own testing and multiple sources, but I have integrated a fair amount of intel from Shogoz who deserves a credit and a link.
There are many settings available and many opinions about how useful they are. A lot of it is contradictory and has been changing as the sim evolves. Here are my most significant settings in order of appearance. Note that some are in the Global Settings Menu, some are in the Program Settings menu.
- Image Scaling = ON / Use global setting (if not using the OpenXR Toolkit)
(Note: There is no need to enable this setting if you have already installed the OpenXR Toolkit, which is the better option until in-sim DLSS support can be assessed)
This setting replaces image sharpening and provides image upscaling for monitors but not for VR headsets – however it frees up computational effort that you can use elsewhere. You can enable it on the Global Settings tab and then enable ‘use global setting’ on the Program settings tab. Be aware that sharpening is applied to everything everywhere, not just MSFS and will degrade the look of your windows fonts in browsers etc, so I have set mine to 0% sharpening. However, the upscaling will still take place and seems to add another frame rate boost.
Warning: Enabling this setting may prevent a screensaver from running on your computer.
- Ambient Occlusion = Off
This option is better handled by in-game settings to avoid applying it to unsupported games.
- Anisotropic Filtering = Application Controlled
Credit: AirborneGeek and his video and comment section.
This setting maximises the quality of textures on steeply inclined planes such as runway markings at ground level. In order to conveniently utilise this setting I suggest ‘application controlled’ and the MSFS in-sim graphics setting to x16 so it will be included automatically when you use the ‘PC Settings = Ultra’ step described elsewhere.
Note: I’m not seeing a difference in my system but this might be because my image is super sampled beforehand, but there is no FPS hit allegedly.
- Antialiasing FXAA = Off
You should be using the in-sim TAA only.
- Antialiasing – Gamma Correction = On
But this should already be handled correctly by MSFS anyway.
- Antialiasing – Mode = Application Controlled
To avoid render conflicts, and you do want TAA to be used.
- Antialiasing Transparency = Off
Avoid render conflicts and FPS loss
- Background Application Frame Rate = 20 FPS
To minimise GPU use when you switch away from MSFS. Unfortunately it doesn’t work with full-screen displays and there is an FPS hit for the windowed mode.
- CUDA – GPUS = All
In case you have more than one graphics card installed.
- DSR – Factors = 4.00x (native resolution)
For more information and configuration details refer to the Configuring DSR Factors sub-heading below (enable all options).
- DSR – Smoothness = 33% (or as you please)
This setting didn’t affect my configuration too much, but I’m using Super Sampling which would negate its effect to some degree. The OpenXR Toolkit also has its own sharpness slider, so it might be better to set this one to 0% so you get the full range there.
- Low Latency Mode = Off
This setting refers to the delay between a mouse movement and the result on your display. For flight sims this is not a priority, but if you are in a competitive shooter this is crucial.
- Max Frame Rate = On
There are pros and cons for this setting so the safer option might be Off.
This setting affects the graphics engine by limiting the work being performed on the 2D screen. The VR display framerate is controlled elsewhere but may benefit from from the decreased workload depending on the distribution of the sim work load across the threads and cores. Another benefit of this is that you can (sometimes) prevent the GPU from using maximum framerate, power and temperature to display simple user interfaces.
Shogoz suggests setting it on and leaving at the default frame rate with is slightly less than your display device refresh rate for smoother delivery.
- Multi-Frame Sampled AA = Off
The MSFS TAA mode is the one you should be using.
- OpenGL Rendering GPU = Auto Select
MSFS doesn’t use OpenGL, so no worries.
- Power Management Mode = Prefer Maximum Performance
This is one setting that most people agree on, so I gave that option here. In fact your system will ramp up to maximum performance when necessary anyway, so to save wasting energy unnecessarily you could leave it at ‘normal’. Don’t use ‘adaptive’ which will degrade performance potentially.
Note: Although this sounds the same as the Windows power plan, the settings are controlling different parts of the computer.
- Preferred Refresh Rate = Application Controlled
To keep things simple.
- Shader Cache Size = Driver Default
The driver writers would hopefully make a decent choice but if not you can check the hidden DXCache folder here:
Mine is set to 133 MB, and the oldest files in it are from 8 days previously. Increasing the cache size did not appear to speed up the MSFS loading screen.
- Texture filtering – Anisotropic sample optimisation = Off
Credit Shogoz: the difference was 0.6% FPS with it on, so not worth potentially interfering with the image quality for so little a gain.
- Texture filtering – Negative Lod bias = Clamp
‘Allow’ provides texture sharpening for distant image features via a negative Level of Detail (LOD) value for mipmap selection. A mipmap is a hierarchically organized set of LOD textures. The result might be cause some shimmer. ‘Clamp’ removes this type of sharpening and allows the Anisotropic Filtering to work properly.
- Texture filtering – Quality = Performance
Note: that altering this setting changes some of the other text settings at the same time.
This is the other setting that most people agree on except that the very small gain between ‘Performance’ and ‘High Performance’ comes at the expense of image quality whereas the ‘Performance’ setting gives both.
- Texture filtering – Trilinear optimisation = On
This is a chance to use a less demanding filtering method when possible.
- Threaded Optimisation = Auto
They know best.
- Triple Buffering = Off
This is intended to counter delays due to any mismatch between VSYNC and FPS, and since this page is about VR you won’t be looking at the 2D screen very often. The downsides are an increase in video ram usage and increased latency but for a VR user there are no benefits.
- Vertical Sync (VSYNC) = Application Setting
After Sim Update 8, Asobo states that the VSYNC rate should be at least 60 FPS in order to avoid degradation. You won’t use it within VR but you might want it to record footage for YouTube etc.
Note: Blur Busters say the control panel version works better than the in-game setting when you do need it.
- Virtual reality pre-rendered frames = Use the 3D application setting
It seems to help, and anyway, MSFS will decide so it should be ok. It sounds like it’s referring to ASW / Reprojection frames.
- Virtual Reality pre-rendered frames = Application Setting
Here Shogoz suggests that input lag induces nausea and recommends a value of 1. However, as explained in this article by gfxspeak.com, the pre-rendered frames can smooth out rendering and suggests a compromise between input lag and visual quality with a value of 3. At 30 fps with 3 pre-rendered frames the input lag would be 1/30sec * 3 = 100ms, significant for a fast-paced shooter but not a flight sim. A setting of 4 should be ok as well. This setting will only be noticeable if you have the CPU capacity to prepare the extra frames. Right now my GPU is at full capacity so it is unlikely to ever draw more than 1 frame at a time anyway.
- Virtual Reality – Variable Rate Super Sampling = Adaptive
Note: not supported by MSFS at the time of writing.
This setting is on the Global tab and will provide a higher resolution in selected parts of the image, saving GPU effort. The ‘Adaptive’ option allows the are to change in size according to the available resources over time. MSFS would need to be profiled by Nvidia and have MSAA enabled to make VRSS active.
In general, all the other settings were either disabled or deferred to application control.
Configuring DSR Factors
DSR is short for Dynamic Super Resolution which does the same things as Super Sampling as mentioned elsewhere. DSR Factors are used to render an image frame in memory at a high resolution which is then scaled down to the output device. In my case I have already configured the Oculus driver to use a super sampled image. When I also enabled Nvidia’s DSR Factors, the GPU load dropped significantly while keeping the same quality. My guess is the larger DSR image size can be used as a Super Sampling source by the Oculus driver, removing the need for the driver to request a new image of a particular size.
How to Configure DSR Factors:
- Open the Nvidia Control Panel via a right-click on the desktop
- On the left hand pane find 3D settings > Manage 3D Settings then on the right hand pane select the Global Settings tab.
- Scroll down to DSR Factors and tick the 4x Resolution entry in its options to force that size particularly or select them all to allow the system a range of options to choose.
- Find and set DSR Smoothness to 30%
- Click the ‘Apply’ button as necessary.
- Restart your computer to check that the setting has been remembered.
Nvidia’s Own One-Click Overclocking
The GeForce Experience app can be used to perform a 1 Click Overclock which is stored on the card itself so it should survive a driver update. If that is the case you should also be able to uninstall the GeForce app and keep the gains you made.
The overclocking is quite mild and the gains are low, but it is free and safe. You can find it via the ‘Performance’ feature after enabling and displaying the GeForce Screen Overlay.
- The overclock takes around 20 minutes to complete
- You may see multiple failures before getting a success
- To complete an overclock attempt successfully its better to walk away from the machine while its in progress
- Each result will be different, so try multiple times for the best value