fholger / vrperfkit

VR Performance Toolkit
Other
1.31k stars 53 forks source link

Table of Approximate Resolution Scales for FSR Resolution Presets(rounded to nearest) #85

Open Crimson-foxGITHUB opened 2 years ago

Crimson-foxGITHUB commented 2 years ago

FSR Ultra Quality: 0.88 FSR Quality: 0.82 FSR Balanced: 0.77 FSR Performance: 0.71

These are the approximate numbers for FSR's resolution scales when converted to VRPerfKit's system.

fholger commented 2 years ago

How did you arrive at these numbers? The official scalings are 0.77 (ultra quality), 0.67 (quality), 0.59 (balanced) and 0.5 (performance), and that's what you'd have to enter in vrperfkit. Obviously, you can put whatever you like, but if you want to match the official presets, your numbers are incorrect.

Crimson-foxGITHUB commented 2 years ago

How did you arrive at these numbers? The official scalings are 0.77 (ultra quality), 0.67 (quality), 0.59 (balanced) and 0.5 (performance), and that's what you'd have to enter in vrperfkit.

I got those numbers based on doing basic math from pixel counts instead of resolution height and width. They're based on the math calculations done from your previous mod, OpenVR FSR, if I'm recalling this correctly: it's based on what SteamVR uses for it's resolution scaling system.

fholger commented 2 years ago

But that's the thing: FSR scales are a multiplier applied to both width and height, just like both openvr_fsr and vrperfkit do, whereas SteamVR multiplier refers to total pixel count.

You can check in the official FSR documentation under quality modes: https://github.com/GPUOpen-Effects/FidelityFX-FSR/blob/master/docs/FidelityFX-FSR-Overview-Integration.pdf There you'll see that for ultra quality, a 4K (3840x2160) output resolution is reduced to 2954x1662, which is approx. 0.77 times the original resolution in both width and height. And that's the factor you need to put in vrperfkit's config for the scale if you want to match that.

Crimson-foxGITHUB commented 2 years ago

...huh. I'd still recommend putting a note in the config files saying it's recommended to go with values like 0.8 or higher. I personally use 0.8x on all my games that need FSR because 0.8x integer-scales better than 0.77x, reducing pixel shimmer on top of FSR's line-based upscaling. Simple mathematical ratios = cleaner image