Getting DCS to run just right in VR can take an investment of thousands of dollars and dozens of hours. It’s not the most optimised game on the planet, so we do what we can. This guide will help you get the settings just right and its based on my own personal experience of running DCS in VR since early 2016.
If you need help picking hardware, here are my guides for DCS:
- Best DCS PC Build
- Best VR Headsets for DCS
- Best GPUs for DCS
- Best CPUs for DCS
- Best Joysticks for DCS
- Best Rudder Pedals for DCS
1. In-game Graphics Settings
Before you start, download the latest Open Beta patch. DCS now support multi-threading and if you are CPU bottlenecked, you will see massive gains!
Texture – As high as you can push it. This determines how objects look. It won’t kill your GPU and it does impact quality. So don’t skimp on it unless you have to.
Terrain Textures – This determines how the terrain looks. Not super important unless you are a ground-hugger but not a big GPU hog either. Crank it up!
Civ. Traffic – Civilian traffic is essentially civilian ground vehicles which are dynamically generated based on this setting. This setting does not effect civilian air traffic which is coded manually via the mission generator. These things do impact CPU performance in large numbers and are generally terrible to look at so I just turn them off.
Water – How good the water looks. Medium is fine as going higher will unnecessarily imapct performance, but not by much.
Visib Range – How far away objects are drawn. Things like mountains, clouds, buildings. Medium is fine for most people.
Heat Blur – This looks cool in 2D, but not really suited for VR. It’s essentially the distortion caused by hot air.
Shadows – This is a BIG one. This setting determines how sharp the shadows will be in the cockpit and from the stuff that is near you (like rotor blades, tankers, wingmen which are close to you etc.). Despite the performance impact of this settings, many keep it high because otherwise your cockpit can look pretty bad. I have it on max. but if you are having performance issues, you can reduces it.
Aspect Ratio and Monitors – These are for monitors, not for VR.
Resolution – This is the resolution of the mirror image that will be on your 2D screen. I set it as low as possible because you are in VR and no one is looking at it anyway. Note that full screen is inferior to windowed mode in term s of performance in Windows 10. So run it in Windows mode.
Res. Of Cockpit Displays – This determines how good your cockpit displays look. Cockpit displays includes things like MFDs, mirrors, radar monitors, TV screens for the Russian birds and things of that nature. You need this to be as clear as possible as it has a material impact on your gameplay. Max it out, it is important.
MSAA – Ok, so this is the big one. Anti-aliasing is essentially the technology that programmers use to fix shimmering and other such issues in digital videos. Objects in real life have infinite resolution. But a screen has a limited resolution which means you need to decide which pixels to light up and in which colour. This can lead to shimmering on the edges of objects and the way to fix it to increase resolution of your display or use AA technologies like MSAA.
The downside is that this is a massive performance hog. I suggest you set it to either off or 2x based on your GPU power. If you have a high end GPU like a 3090, 4080, 4090, you can set it to 2x otherwise try turning off to gain a decent performance boost. Remember that super-sampling is also an AA technique. So if you are using super-sampling by setting OpenXR resolution to be higher than 100%, MSAA will have a less of a visible impact while using the same amount of GPU resources.
Depth of Field, Lens Effect, Motion Blur – Looks cool in 2D, but better to turn off in VR.
Clouds – Clouds got a major face-lift in 2.7 but were super buggy in VR. They seemed to have been fixed since 2.8 though so yay? They do have a noticeable performance impact so choose based on your GPU horsepower. I have mine set to High.
SSAA, SSLR, SSAO – SSAA is just Super Sampling Anti-Aliasing technology. Very expensive, even compared to MSAA. Just set the super sampling via the OpenXR slider (explained later in this guide). SSLR and SSAO are also best left off in VR.
Clutter/ Grass – This is a personal preference. Do you want grass, bushes and other stuff on the ground? It does affect performance. I set this set pretty low because the grass looks terrible in every single VR game anyway.
Forest visibility – This adjusts the the distance as which trees are rendered. The slider determines how close you need to be to trees before they pop up. Remember that all the tress will always exist, this only makes them invisible unless you get close to them. This is important because some helo missions require you to land in forests and the trees will appear invisible if you have this set too low even though they will be physically still there!Trees are a big performance killer when you are close to the ground so use this judiciously.
Forest Details Factor– This settings allows you to reduce the detail factor of trees and forests. 1.0 was the default setting before patch 2.7 but after 2.7 you can reduce it to get some performance boost. The boost is negligible. Start with 0.5 and adjust up or down.
Scenery Details Factor – This affects the details on scenery objects like buildings or airfields. On max setting, you will notice fences, brick work on buildings, air conditioning units on rooftops, antennas near airfields and things like that. Not much of a performance hit either way.
Preload radius – How much of the map will be loaded when you load the mission. The higher it is, the longer it will take to load missions. However, the advantage is that you will need to load less stuff during the actual mission. I set it to medium normally. Get a super fast SSD and at least 32GB RAM to make the game load faster.
Chimney Smoke – Meh.
Gamma – Personal preference. I think 1.5 is fine for me although I think the default is higher. It will also depend on your VR headset since some are brighter than others. No performance impact when changing this.
Antistrophic Filtering – It makes things like roads etc. look better and has a very low performance cost. I always set it to 16x in all games.
Terrain Object Shadows – Shadows are a BIG resource hog in all games. Cockpit shadows are controlled through the other setting mentioned earlier. This is just for terrain objects which are less important because you belong in the sky! So you can turn them off to get a very decent boost in performance.
Cockpit Global Illumination – It allows for outside light sources to better light up the cockpit. At least that’s the theory. I haven’t noticed it doing that in VR so I just turn it off. I have asked a lot of people and none of them can vouch if it does anything in VR.
Message Font Scale/ Scale GUI – This is just plain old UI scaling and honestly I dont see the need for it. Probably better for very very large 2D monitors but not needed for VR.
Rain Droplets – Yes, please! Who doesn’t like a wet jet?
Vsync- Not applicable for VR.
Fullscreen – Yes.
Cursor confined to game window – Yes, otherwise when you move the mouse in VR and click somewhere, it may de-focus the DCS app.
2. In-game VR Settings
Pixel Density – This is essentially super sampling (SS). SS here is multiplicative with what you set in SteamVR or elsewhere. Therefore, as a best practice, set it up at one place only. I recommend leaving this to 1.0 and adjusting in SteamVR or the Oculus Tool.
Also, keep in mind that setting PD to, say, 1.2 here is the equivalent of setting it to 144% in SteamVR because this is per axis. So 1.2 x 1.2 = 1.44 or 144%. That means 44% more pixels need to be rendered and 44% more GPU load.
Cursor confined to Game Window – This prevents your mouse form going outside the DCS window. Useful setting as it prevents you from clicking on something else on your desktop while in VR.
Force IPD Distance – The most important VR setting! This is essentially world scale. Meaning if the cockpit seems small, then changing this number will make it bigger. And vice versa. This has nothing to do with your actual physical Inter-pupilary distance. I wish ED had chosen a better name for it to avoid confusion, even though it is technically not wrong.
Bloom Effect – Mostly not noticeable but sometimes in dark cockpits it causes a bloom effect., I turn it off.
MSAA Mask Size – Makes the area where MSAA is applied bigger or smaller. In theory, it is supposed to improve performance but the jury is still out on that. For example, with 0.1 only the centre 10% of your view should have MSAA applied and save you some performance. But it doesn’t seem to work properly so I just set it to max.
The next few options are mostly for streamers who want to record game-play while playing in VR. They affect what is shown on your monitor, rather than the VR headset but they do affect performance so make sure you have them set right.
Enable HMD Mask – This causes a mask outline to appear on the monitor that mirrors your VR headset’s display. It affect performance a little bit so leave it on. The option to turn it off is for streamers who want to record video without that mask.
Use DCS System Resolution – This is the resolution of the mirror image displayed on your desktop. Check this to just mirror your HMD to your monitor and gain some performance.
Mirror Eye Source – Determines whether the desktop mirror image is from your left or right eye or both.
3. OpenXR (most important)
A big problem with VR is the multiple layers of software between the hardware. You have an API and then you have a runtime, and this is in addition to the Operating System overhead. You want to minimize this as much as possible. SteamVR and OpenVR are not as fast as OpenXR. So we want to use OpenXR for literally any headset that supports it. Luckily, most of them do including Reverb, Pimax, Varjo Aero, most HTC ones etc.
Before, you needed third party tools for this but now DCS supports natively (on the open beta branch). Here’s how to run it.
Step 1: Remove any other VR performance hacks from DCS. Most of them wont work with OpenXR and only cause you issues. Things like Reshade, FSR, PerfKit etc. if you had them. Also, clean out your metshaders and fxo folders located at C:\Users\your username\Saved Games\DCS. You can use command lines to check for any unwanted files using the guidelines on the DCS official site here.
Step 2: Download “OpenXR Developer Tools” from the official Microsoft store. It’s free and you need it for OpenXR to work. Its great and you should use it for as many games as possible including DCS and MSFS. Set the runtime as OpenXR in the app. If this setting is not visible, you may already be using this. You can leave the render scale at 100% for your first test (I have it set at 150% for my Nvidia 4090 FE). This is essentially the resolution the game renders at and you can tweak this later based on our graphics card. You can also turn reprojection on/off from here. I do use motion re-projection but I do with the toolkit instead (read the next section).
Step 3: You will need to force DCS to use OpenXR. Open your DCS shortcut and change the target to:
"E:\DCS World\bin-mt\DCS.exe" --force_enable_VR --force_OpenXR
Change the path based on where your game in installed. Note that this is for the Multi-threading beta hence we are targeting the DCS executable in the bin-mt folder.
That is pretty much it. Run DCS and enjoy more frames! Just make sure SteamVR is NOT running. Note that if you do this, then you should skip all the other VR hacks (listed below) for now because they are not currently compatible.
3.1 OpenXR Toolkit (optional but highly recommended)
This is a nifty little tool that you can use to change a lot of things in OpenXR. Sharpness, FPS overlay, upscaling, world scaling, contrast, brightness etc. It’s a must have tool but dont install it until you get the game to run normally using OpenXR first. This is more of a tinkering and fine-tuning tool. Download it here.
I use the tool to turn on motion re-projection for the game from here so that it can be toggled on a per game basis. I also turn on overlay to show frame times and fps to monitor performance.
4. NVIDIA Control Panel Settings
Assuming you have an Nvidia graphics card, there are a few settings you can tweak here. Or rather that other guides tell you to tweak without knowing what they even mean.
Virtual Reality pre-rendered frames – The one setting that often gets talked about is “Virtual Reality pre-rendered frames” and setting that to 3. Note that there is a trade off here between frames and latency with this setting. Increasing it to 3 means the CPU will buffer some additional frames ready but it may cause higher latency/ lag/ input delay and even mess up re-projection. So don’t just blindly put it to 3 and call it a day – it might make things worse. Try 1 or 3 and see which one your brain prefers.
Anti-aliasing – Some guides also tell you to set anti-aliasing to 2x MSAA from here instead from the in-game setting as it is faster. That is also not true. You can’t set MSAA at the driver level for DirectX11 games. You can switch MFAA on from here though and that does work.
5. Windows Settings
Windows Game Mode – Best to just turn it off as it may cause issues. The stability of all these Windows features changes from patch to patch so you can’t really predict how they’ll play with DCS or other games. If you have a 7950X3D chip though (like me), you have to leave it on for core scheduling to work properly.
Xbox Game Bar – Used to cause issues before but now I leave it on since my CPU (AMD 7950X3D) needs it for core parking. You can turn it off otherwise.
Hardware Accelerated GPU Scheduling – This has caused me some serious headaches before, but now I leave it on. If you have weird issues with multiple monitors or motion re-projection, try turning this off. It’s known to reduce the refresh rate of any second monitors.
6. SteamVR Settings (SteamVR is not recommended, use this only if you can’t run OpenXR)
Motion Smoothing – Your headset will most likely have a refresh rate of 90Hz, 80Hz or 120Hz etc. Sometimes your GPU will not be able to keep up. So what happens is that SteamVR, Oculus or WMR will look at the previous few frames and use predictive algorithms to extrapolate or guess the next frame. This means that if the GPU can’t keep up with the refresh rate, you will see some guesstimated frames.
Motion Smoothing is Valve’s name for this tech. I think it is best to keep this on even if you hit 90 FPS normally. It does have some downsides, but it is better than not having it on. If you ever do go below 90 FPS (which you will), it will prevent frame drops.
Note that WMR’s motion reprojection is also turned on by this same setting for now. Read the next section on WMR to know more.
Resolution – This is where you set your super sampling level. You have two choices here. Push it up and then aim for 45 FPS with reprojection/ motion smoothing to make up for the rest. Keep it low and aim for 90 FPS or whatever is the native FPS for your headset.
With my Reverb, I use 150% SS and it looks crisp as can be. But you wont get 90 FPS even with a 3090 that way. So you will have to tinker with it based on your graphics card and VR headset.
6.1. Reshade Mod for OpenVR (optional)
Note: This is for SteamVR and doesn’t work with OpenXR last time I checked.
There is a Reshade mod that I have been using in many VR games. This mod has become essential for me given the noticeable improvements in sharpness it provides. The terrain as well as cockpit objects look a lot sharper. The buttons, knobs and text are clearer to see. I set the sharpening value pretty high (1.8 to 2.0) to see a noticeable difference. The default value is 1.0 and you can try going up from there. There is a minor performance cost supposedly, but I could not measure any noticeable difference. There are colour and saturation settings as well which you can set according to personal preference. I left them all at default.
There are also someshader mods you can use to get better performance. What these mods do is simplify shaders for things like the canopy glass, grass, water etc. which improves performance by a fair bit. I have not tried this myself as I have had some issues with it in the past but it is still worth mentioning.
6.2. OpenVR FSR (optional)
Note: This is for SteamVR and doesn’t work with OpenXR last time I checked.
FSR (FidelityFX Super Resolution ) is a supersampler by AMD but it works with Nvidia cards too. This is essentially an upscaling algorithm developed by AMD which is used in some other games. This mod adds that support to DCS and can give you a ~20% increase in FPS!
Step 1: Download it: https://github.com/fholger/openvr_fsr/releases/tag/fsr_alpha1.1
Step 2: Go to your DCS bin folder (\DCS World\bin) and backup file openvr_api.dll somewhere. You can rename it or save it elsewhere as a backup.
Step 3: Extract the contents of the file you just downloaded to the bin DCS bin folder.
Step 4 (optional): You can tinker with the values in .cfg file. I set render scale to 0.9 to 1. Sharpness I set to 0 because I already use the reshade mod listed above for sharpening.
Enjoy your higher FPS! I personally do not use this as it tends to add some shimmering in the clouds and the horizon because it is still just upscaling an image that was rendered at a lowered resolution. But for some people a 20% boost in FPS may be worth that or they may just be less sensitive to shimmering