RTX 4090 performance with VR (Ryzen 5900X / Reverb G2)

They are originally meant to be the same but I discovered later there is a difference.

OpenXR Toolkit measures app CPU from the start of a frame to the end of the frame. This means it includes only from the moment app says “I’m starting to render now”.

WMR overlay measures app CPU right after frame wait has completed and until the end of a frame. The semantic here is “runtime says you can start rendering now”.

A disciplined app should begin rendering ASAP after frame wait (since rendering is likely one of the longest tasks to perform), and therefore these two values should be the same. Runtime says: you can render now! App starts doing it immediately.

If they are not, then it means the app is spending time doing something else before rendering. Maybe this is misinterpreted and the app isn’t giving us its intention properly…

One thing we can do to confirm what is actually happening is have you send me one of those WinXR.etl traces.

PS: I already had a change in for the next release of OpenXR Toolkit to display both values (both the “app render CPU” and also the “app other CPU”).

1 Like