Foveated Scaling in ReLive VR - GPUOpen-LibrariesAndSDKs/Radeon-ReLive-VR GitHub Wiki
Starting with Adrenalin 2020 Edition driver, ReLive VR supports foveated scaling, which allows to reduce latency without sacrificing image quality or increase image quality without sacrificing latency. This feature is enabled by default in Adrenalin 19.12.2 and is compatible with the following versions of the client app:
- Oculus (Quest, Go, Gear VR) version 1.0.19 or newer
- HTC Vive Focus/Focus Plus version 1.0.12 or newer
- Lenovo Mirage Solo/Daydream version 1.0.12 or newer
Older versions of the client app do not support this feature and will fall back to linear scaling.
This feature can be turned on or off from the Streaming page of the Web browser-based UI by selecting the appropriate value of the Scaling parameter from the drop-down box on the Streaming page. Alternatively you can set the NonLinearScale
parameter in the Display
section of the settings.json file to true or false. Encoder and rendering resolutions also need to be adjusted for best results.
Foveated scaling works by rendering the image at a higher resolution and non-linearly scaling it down to a lower resolution before sending it across the network, preserving more pixels in the center of the frame, while reducing resolution at the periphery of the field of view.
Render resolution is controlled by the EyeResolution
parameter in the Display
section of the settings.json file. This parameter sets the resolution suggested by ReLive VR to SteamVR. SteamVR automatically profiles your graphics card and may increase or reduce this value based on the profiling results. You can see which resolution SteamVR suggests to application by going to the SteamVR menu, selecting Settings from the menu and navigating to the Applications page. You will see the actual resolution per application in the Custom Resolution section of the Applications page.
For Radeon 5700 cards the following settings are recommended:
"Display" : { "NonLinearScale" : true, "EncoderResolution" : { "height" : 1440, "width" : 1440 } }
For Radeon Vega 64, Radeon Vega 56, Radeon VII, Radeon Pro WX9100 and Radeon Pro 8200 cards the following settings are recommended:
"Display" : { "NonLinearScale" : true, "EncoderResolution" : { "height" : 1280, "width" : 1280 } }
For Radeon RX590/580/570/480/470 cards the following settings are recommended:
"Display" : { "NonLinearScale" : true, "EncoderResolution" : { "height" : 1280, "width" : 1280 } }
Please feel free to experiment with various resolutions to tune ReLive VR to your liking. It is important to note that the render resolution reported by SteamVR in the Custom Resolution section should be higher than EncoderResolution
in order for this feature to work properly. Also remember that image quality and latency are always a trade-off - you can increase one at the expense of the other one, but not both at the same time.