With the release of v12 for the Oculus PC runtime, we now allow overriding the default Oculus Link Resolution using the Oculus Debug Tool (ODT)
which is located under the .\Support\oculus-diagnostics\ folder of the Oculus PC runtime install path (e.g. c:\program Files\Oculus). Keep in mind, this is not the final solution for performance tuning of Oculus Link. It is recommended that only advanced users with powerful GPUs
experiment with the ODT settings as changing them without a good understanding could potentially lead to a poor VR experience.
In ODT, find the "Oculus Link
" section with "Encode Resolution Width"
and "Distortion Curvature"
. Also note the "Pixels Per Display Pixel Override
" (short "Pixel Density
") value up top.
Initial tuning recommendations
- For most fields in ODT, 0 or "Default" means "do not override the value".
- Changes to the "Oculus Link" values require an Oculus Server restart to take effect, which can be done directly inside the ODT menu option, or from the "Beta" tab in the Oculus desktop application.
- Depending on the VR app, changes to the "Pixels Density" might require the VR app to be restarted, but won't require the Oculus Server to be restarted.
- "Oculus Link" fields will persist after the Oculus Server is restarted.
- "Pixel Density" will not persist after the Oculus Server is restarted.
- start with these and adjust as needed:
NVidia RTX 2070+ or comparable GPUs - Curvature
"Low", Encode Resolution
"2912", Pixel Density
NVidia GTX 1070+ or comparable GPUs - Curvature
"High", Encode Resolution
"2352", Pixel Density
NVidia GTX 970+ or comparable GPUs - Curvature
"Default", Encode Resolution
"2016", Pixel Density
When tuning, keep in mind:
- "Pixel Density" is per-dimension. e.g. a setting of 1.2x means 1.44x in 2D, which means 44% more rendered pixels. 2.0x means 300% more rendered pixels.
- Higher "Pixel Density" can cause dropped VR app frames and will vary based on the performance characteristics of the VR app.
- Higher "Encoder Resolution" can lead to dropped compositor frames as well as visible tearing. This is mostly tied to the encoding capabilities of the PC GPU and Quest.
- Higher resolutions in general can also lead to higher latency.
- Unnecessarily high resolutions (especially "Encode Resolution") can lead to aliasing artifacts (i.e. pixel crawling) on high frequency details.
- To revert changes, set them back to 0 or "Default" where applicable.