EDIT Jan 2022: This project has been updated/renamed and the latest should be here:
Below is the original first post:
Modified OpenVR DLL with AMD FidelityFX SuperResolution Upscaler
This modified openvr_api.dll allows you to apply FidelityFX SuperResolution upscaling to many SteamVR games, as long as they use D3D11.
Something like Skyrim as an example:
Now off to try it with DCS.
Note: AMD FSR is for any graphics cards, not just AMD’s, it’s an upscaling algorithm, so potentially works like Nvidia DLSS but without the ML bits - TL:DR makes VR games clearer but also better framerates on any GPU.
I wonder why both technologies demand support from the game developer. It would be sufficient to learn on the fly or during defined teaching session. Heck, similar technology could be build straight into display, so there would be no need for separate drivers or software.
Go to the Releases page of the above Github repository
Rename your existing openvr_api.dll in your DCS bin/ install directory.
Put the two files from the zip of the release.
I turned off the Reshader mod I already had on, but it looks pretty much as clear. I just left the default settings for it. Results are impressive, about a 20% increase in VR framerate plus clearer image:
Here’s the settings I used, and will fiddle with to try to get the best balance of fps/clarity:
{
"fsr": {
// enable AMD FidelityFX Super Resolution
"enabled": true,
// Per-dimension render scale. If <1, will lower the game's render resolution
// accordingly and afterwards upscale to the "native" resolution set in SteamVR.
// If >1, the game will render at its "native" resolution, and afterwards the
// image is upscaled to a higher resolution as per the given value.
// If =1, effectively disables upsampling, but you'll still get the sharpening stage.
// AMD presets:
// Ultra Quality => 0.77
// Quality => 0.67
// Balanced => 0.59
// Performance => 0.50
"renderScale": 0.75,
// tune sharpness
"sharpness": 0.75
}
}
No, because DCS would have to make the init call in the driver and they’ve said they don’t support single vendor 3rd party technologies or something like that (if you ignore TrackIR, Windows, specific device control inputs and the 300 other examples that rule doesn’t apply to)
It might be possible to do an injector to enable it, but not seen it. DLSS 2.2 might be possible in VR. This being AMD FSR is pretty much a great step though.
So trying to push this thing as far as I can now. Changing the renderScale value to 0.50 (effectively half the work for DCS) obviously increases the framerate massively. The HUD looks ok, but the MFDs are sort of muddy with the 0.75 sharpness value, so could try higher with that. Here’s the 0.50, 0.75 and original DCS VR framerates for comparison…
Huh, never thought I’d see the day with DCS in a Reverb at native resolution have 90 fps on a 2080…
Remember, this is still just a form of supersampling up a lower resolution, so it’s not magic - but the upscaling clarity is far better than the stock SteamVR or WMR you would get.
The initial release page here Release FSR for SteamVR games alpha 1.1 · fholger/openvr_fsr · GitHub contains a file called ‘openvr_fsr.zip’. Download that. In it is the replacement openvr_api.dll used for injection and the config file called ‘openvr_mod.cfg’ with the default values. It needs to be in the DCS /bin directory and you need to rename your original openvr_api.dll first, otherwise it’ll overwrite it and you’ll need to do a repair to go back.
It’ll combine, this just alters the OpenVR/SteamVR side, so if you have PD 1.0 and 100% SteamVR on a G2 then it’ll tell DCS the resolution is .75x that and then upscale and sharpen to 100% on the headset side.
You could force DCS to use SteamVR using this I think.
DCS.exe --force_enable_VR --force_steam_VR
My results are sort of variable so far running real missions. If I run with fantastic frame timings using “renderScale”: 0.59 and “sharpness”: 0.75 then it’s really smooth, but the clouds look pretty bad the further you get out to the horizon. The clouds really seem to confuse the upscaler, which is unfortunate, as there’s a lot of clouds in a flight sim.
Noticed same with clouds; wasn’t sure whether it was me or not. Even on Ultra there was more ‘shimmer’ on the horizon it seemed.
For me, on this potato, not much change in FPS but, like a lot of these things, if you’re gasping for air already, it likely isn’t enough to save me. And if you have a SuperPC then you don’t need it. Thought it was a bit sharper too.
I tested with the Hornet free flight in the Caucuses and with my 3080 and G2, got an astonishing 18-20 fps improvement using the default .75/.75 cfg file. Next to try it at .77 to see what that does, but it looks pretty good IMO at .75. Could read the MFDs fine.