@@ -4,7 +4,27 @@ Modified OpenVR DLL with AMD FidelityFX SuperResolution Upscaler
44This modified openvr_api.dll allows you to apply [ FidelityFX SuperResolution] ( https://gpuopen.com/fidelityfx-superresolution/ )
55upscaling to many SteamVR games, as long as they use D3D11.
66
7- To install, find the location of the openvr_api.dll in the game's installation
7+ ### About FidelityFX Super Resolution
8+
9+ FidelityFX Super Resolution (FSR for short) is an upscaling technique developed by AMD,
10+ but it works on pretty much any graphics card, including NVIDIA cards. The idea is that
11+ the game internally renders to a lower resolution, thus saving GPU time and reaching higher
12+ FPS, as long as it is not bottlenecked by the CPU. The resulting lower resolution render is
13+ then upscaled to the target resolution by FSR, with the aim of restoring some of the lost
14+ detail due to the lower resolution rendering. It does so in two steps - the first being
15+ the actual upscaling to the target resolution, where particular attention is paid to edges
16+ in the lower resolution picture. The second step is a sharpening step to counter some of the
17+ blur introduced by the upscaling.
18+
19+ Note that, unlike DLSS, FSR is * not* an anti-aliasing solution. Any aliasing and shimmering
20+ edges present in the original image will not be fixed by FSR. As such, the final image quality
21+ of FSR depends a lot on the particular game you are using it with.
22+
23+ ### Installation instructions
24+
25+ First, download the ` openvr_fsr.zip ` file from the [ latest release] ( https://github.com/fholger/openvr_fsr/releases/latest ) under "Assets".
26+
27+ Then find the location of the openvr_api.dll in the game's installation
828folder:
929- It might be located right next to the main executable (e.g. Skyrim, FO4).
1030- For Unity games, look in: ` <GameDir>\<Game>_Data\Plugins `
@@ -21,6 +41,38 @@ and rename the original `openvr_api.orig.dll` back to `openvr_api.dll`.
2141In case you run into issues, the log file (` openvr_mod.log ` ) may provide clues to
2242what's going on.
2343
44+ ### Configuration
45+
46+ The mod is configured by editing the values in its config file, ` openvr_mod.cfg ` . The
47+ most important setting is ` renderScale ` , which determines the lowered render resolution that
48+ the game will be using internally. If you have set a render resolution of e.g. 2244x2492 in
49+ SteamVR, then that's the target resolution. The internal resolution will be scaled by the value
50+ of ` renderScale ` in both dimensions. For example, if ` renderScale ` is set to 0.75, then the
51+ actual render resolution will become 1683x1869. The render is then upscaled by FSR to the
52+ original resolution of 2244x2492.
53+
54+ If you set a value higher than 1 for ` renderScale ` , then the game will render at the native
55+ resolution, i.e. the one configured in SteamVR. But FSR will then take this render and upscale
56+ it to a resolution multiplied by the value of ` renderScale ` in each dimension. For example, if
57+ the resolution in SteamVR is 2242x2492 and you have configured a value of 1.3 for ` renderScale ` ,
58+ then the game will render at 2242x2492, but the image will be upscaled by FSR to 2915x3240.
59+
60+ The second relevant parameter is ` sharpness ` . Generally, the higher you set ` sharpness ` , the
61+ sharper the final image will appear. You probably want to set this value higher if you lower
62+ ` renderScale ` , but beware of over-sharpening.
63+
64+ ### Performance considerations
65+
66+ While rendering at a lower resolution will save you performance (which is the entire point),
67+ the FSR upscaler does have a fixed cost in GPU time, and this time depends on your GPU and
68+ the target resolution (* not* the render resolution). So the higher your target resolution, the
69+ higher the cost of the FSR upscaler. In time, we might be able to improve this cost with some
70+ clever tricks, but for now keep this in mind. It means that, the higher your target resolution,
71+ the lower you may have to set the render resolution (by lowering ` renderScale ` ) before you see
72+ an actual net benefit for your GPU times.
73+
74+ ### Results
75+
2476Example results:
2577- [ Skyrim VR] ( https://imgsli.com/NjAxNTM/0/1 )
2678- [ Fallout 4 VR Native vs FSR modes] ( https://imgsli.com/NjAxNTE/0/1 )
0 commit comments