Hello all,
If you are not using a Windows Mixed Reality headset (such as the HP Reverb or Samsung Odyssey), you may disregard this message.
TL;DR: There is a new release of OpenXR Tools for Windows Mixed Reality in the Microsoft store. Roll out of the new package from the Microsoft store may take up to 48 hours to be available on your machine, so please be patient if you are not seeing the update right away.
Reddit thread with the full announcement: OpenXR Tools for Windows Mixed Reality Updated - 113.2304.14003 : WindowsMR
The official release notes are here: Release OpenXR Tools for Windows Mixed Reality - 113.2304.14003
How do I enable Windows Mixed Reality as my OpenXR runtime instead of SteamVR?
To make sure you selected Windows Mixed Reality as your OpenXR runtime, you may use one of the solutions below:
a) Start the Mixed Reality Portal and look for a banner at the top of the window:
b) Use the OpenXR Tools for Windows Mixed Reality app from the Microsoft store, navigate to the Mixed Reality tab, and check the Installation status :
How do I enable the preview OpenXR runtime?
Using the preview OpenXR runtime requires the following steps:
- Make sure that Windows Mixed Reality is set as your OpenXR runtime (see above).
- Install the OpenXR Tools for Windows Mixed Reality app from the Microsoft store.
- Toggle Use latest preview OpenXR runtime in the OpenXR Tools for Windows Mixed Reality app:
And now, my tailored release notes just for you!
All the changes below require you to toggle to the Preview runtime with the option “Use latest preview OpenXR runtime”.
- Added support for temporal post-processing of motion vectors (same algorithm as Windows Mixed Reality for SteamVR). Improves the quality of motion reprojection.
This feature does not require any activation (besides turning on Motion Reprojection of course). It can benefit in all games and with all GPUs (including AMD).
- Added support for Nvidia Optical Flow as a source of motion vectors. Improves the quality of motion reprojection on Nvidia RTX cards only.
This feature is enabled by default when Motion Reprojection is enabled, but it can be disabled via the “Disable NVIDIA Optical Flow Acceleration on RTX cards” checkbox. Toggling the checkbox requires to restart the VR session (Ctrl-Tab). It can be used in any game, but as the note says, is only available on RTX cards (2000, 3000 and 4000 series) and on a few cards in the GTX 1600 series, but not all of them (see GeForce 16 series - Wikipedia, all cards except for the ones marked TU117). It is NOT available on GTX 1000 series and below. It is NOT available on non-NVIDIA cards.
How to tell which motion reprojection is used? You can enable “Display frame timing overlay”.
In the overlay, the possible values are:
-
NVOF10tS
: this is NVIDIA Optical Flow motion reprojection. -
DXMV16T
: this is generic motion reprojection. Will show asDXMV8T
on older AMD cards (5000 series) due to limited encoder capabilities. -
MotionReproj
: this is the old motion reprojection. If you see this, you are not using the preview runtime.
Should I use or not use NVIDIA Optical Flow? That really depends on the content, and also your preferences. Each method may perform better than the other with specific content, or simply your own perception of the motion reprojection. Try both, pick the one that works best for you.
- Added option “Prefer frame rate over latency”. This option allows an application to render frames faster at the cost of additional latency. It can be used in conjuction with motion reprojection. This is similar to the so-called “Turbo Mode” in the 3rd party application “OpenXR Toolkit”.
The explanation mentioning Turbo mode should sound familiar. Highly recommend this option, unless it causes issues.
This variant, unlike the OpenXR Toolkit one, works well with motion reprojection, as long as HAGS (Hardware Accelerated GPU Scheduling) is turned on!
I strongly advise to disable Turbo mode in OpenXR Toolkit if you are using this option. The implementation in the runtime should be better and provide more accurate tracking prediction. There is no point in doing “double-Turbo”, this will only mess up your tracking prediction and not provide gains.
Just as with OpenXR Toolkit, this option will alter the frame time measurements. You can see whether this option is active by looking at the WMR frame timing overlay, and seeing a *
symbol next to the frame rate means that it is active:
Should I use HAGS (Hardware Accelerated GPU Scheduling)? You should experiment, I’ve been getting better results with motion reprojection with HAGS turned on, regardless of the Prefer frame rate over latency option. But it probably depends on the application.
- Moved motion reprojection rendering to a high-priority command queue to prevent interference from the application.
This feature does not require any activation. Some of you are already running with this (previously known as EnableHighPriorityCompositor
). It helps making motion reprojection frame rate more stable, especially with DirectX 12.
- Removed “Automatic” motion reprojection mode (which only meant “Enabled only in Flight Simulator 2020”).
- Added options to limit the motion reprojection rate to a specific fractional rate.
This should be self-explanatory. This is similar but not identical to the “Lock reprojection” of OpenXR Toolkit. The option in OpenXR Toolkit was more aggressive because it tried forcing a certain rate, even if you could not achieve it. This could lead to worse results. The new option here is a safer, less aggressive way, which prevents from going to a higher reprojection rate, but will not force an impractical rate.
- Disabled: do not attempt motion reprojection.
- Use best frame rate: try to find the highest frame rate possible, even disabling motion reprojection if it is not needed. However note that having motion reprojection “on standby” rather than Disabled has a cost! Choose wisely.
- Limit to 1/2 frame rate: do not go higher than 45 FPS (30 FPS respectively) when the target refresh rate is 90 Hz (60 Hz respectively).
- Limit to 1/3 frame rate: do not go higher than 30 FPS (20 FPS respectively) when the target refresh rate is 90 Hz (60 Hz respectively).
- Limit to 1/4 frame rate: do not go higher than 22.5 FPS (15 FPS respectively… not recommended!) when the target refresh rate is 90 Hz (60 Hz respectively).
Note about changing Motion Reprojection value: going to and from “Disabled” requires to restart the VR session (Ctrl-Tab). Going between any of the other values (Best frame rate or Limit frame rate) takes effect quickly and without a restart.
Have a great week-end everyone!