-
-
Notifications
You must be signed in to change notification settings - Fork 0
5. Foveated Rendering
Foveated rendering is a technique that improves GPU performance by rendering different areas of the image at different quality levels. In VR, this usually means keeping the center of the view sharp, using medium quality around the outer area, and lowering quality further at the edges where it is less noticeable.
In DesktopXR, these regions are fully configurable, including both their size and texture quality. DesktopXR’s foveated rendering currently supports NVIDIA graphics cards only.
DesktopXR’s foveated rendering uses Variable Rate Shading (VRS), a technology that improves performance in games that are primarily shader-bound. Depending on the game, you can typically expect performance gains of around 5–15%.
Automobilista 2 running on a Pimax Crystal Light
Resolution: 120% 5174x6122
MSAA: High
Graphics: Ultra
Post-prosessing effects: On
First round of profiling saw +13%
Lower is better
DesktopXR attempts to apply FFR to all games where possible. In some cases, issues may occur, such as FFR being applied to menus, loading screens, HUD elements, or only one eye.
Where available, DesktopXR will use a game-specific profile to handle these cases. DesktopXR can also detect when a game may not be suitable for FFR, and in those cases FFR will not be applied.
DirectX 11
| Game | Profiled | Description |
|---|---|---|
| Assetto Corsa | No | - |
| Assetto Corsa Competizione | No | - |
| Automobilista 2 | Yes | Working |
| DCS | Yes | Working |
| iRacing | No | Recommend to use games in-built FFR |
| Le Mans Ultimate | Yes | Working |
| rFactor 2 | No | Working but hits loading menus |
DirectX 12
| Game | Profiled | Description |
|---|---|---|
| Assetto Corsa Evo | Yes | Working |
| Microsoft Flight Simulator 2020 | Yes | Working |
| Microsoft Flight Simulator 2024 | No | Recommend to use games in-built FFR |
Creating an FFR profile for a specific game can be time-consuming because every game presents its VR output differently. A profile needs to carefully monitor the VR textures as they are sent to the headset and determine whether they belong to the main game view, a loading screen, a menu, or overlay elements such as a HUD or rear-view mirror.
This can also vary depending on graphics settings. For example, MSAA may change how textures are presented, and some games combine both eyes into a single texture while others keep the left and right eye textures separate.
Because of these differences, it is not practical to create dedicated profiles for every game. However, I will prioritise support for the most popular sim racing and flight simulator titles. If a particular game is heavily requested by the community, I will consider creating a dedicated profile for it.
DesktopXR will still automatically attempt to apply FFR to every game where possible. This automatic FFR support will continue to improve over time, with the goal of covering more games without requiring dedicated profiles.
Eye tracking was developed and tested on a Meta Quest Pro using Virtual Desktop VDXR. Compatibility with other headsets and runtimes should be possible where XR_EXT_eye_gaze_interaction is supported, but has not yet been verified.
| Headset | Working |
|---|---|
| Bigscreen Beyond 2e | - |
| Meta Quest Pro | Yes |
| Pimax Crystal OG | - |
| Pimax Crystal Super QLED | Yes |
| Pimax Crystal Super OLED | - |
| Pimax Dream Air | - |
| PSVR2 | - |
| Varjo Aero | - |