Reprojection failure on high GPU usage (scheduling problem?)
Edited. Retractions are strikethrough. Describe the bug ~Whenever a program cannot reach the refresh rate of the headset, the frames are dropped instead of reprojected.~ Update: It seems to actually be a problem with some sort of GPU scheduler not allocating enough time/resources to reprojection note: this issue DOES show up on Windows, too, to a lesser degree. Harder to push out reprojection.
To Reproduce Steps to reproduce the behavior: ~find a game that can't be run at refresh (A good candidate is VRChat)~ find a game that uses too much GPU example:in VRChat, have a mirror open, and the avatar menu open, and move that avatar menu around to really stress it. note:this might only be an issue in higher refresh rates (120, 144)
Expected behavior ~Reprojected frames sent to headset instead of being dropped~ Successful reprojection during heavy GPU usage anyway
System Information (please complete the following information):
- Distribution: Arch
- DE: Plasma 6.0.3 on Wayland (Using X doesn't help)
- GPU: 7900XTX
- CPU: threadripper 1920x
- SteamVR version: 2.5.2 (open beta)
- Steam client version: 1709846872
- Opted into Steam client beta?: Will update when I can remember how to check.
- Graphics driver version: Mesa 24.0.5-arch1.1
- Gist for SteamVR System Information: https://gist.github.com/Skyliner-369/a2effb3d7915ac4d3d64ee1cd769e22a
Note: gist was quick and dirty. Things like Display Mode may be inaccurate. (I didn't even turn my base stations on) new Gist below
Screenshots
~I wouldn't know how to demonstrate this issue in a screenshot~
When stressed:
When unstressed:
Additional context ~Potential missing package? if so, this is a request for a complete dependency list. Otherwise,~ it's probably something broken in relation to ~rdna3~ RDNA
mini-note: I'm new to reporting bugs. if needed info is missing, request it, don't close the issue.
Note: Commenters who are also experiencing this issue are encouraged to include the "System Information" section in their replies.
new gist with steamVR set up as it should: https://gist.github.com/Skyliner-369/7c69f7abb69872eb89329ff82b245f86
I noticed you have async disabled(1). That means you are running using the same graphics queue as the game or application that's heavy(as stated in your bug report like VRChat), this doesn't allow compute tunneling which allows the VR compositor to mostly complete all its work.
1: (I'm pretty sure that's the compute one not async reprojection) 2: (should be always but that's currently what you get)
This needs to be retested with the newest beta.
Compositor still fails to deliver 144 FPS to the headset if the gpu is saturated, RX 7800 XT.
Some additional testing: using CoreCtrl I forced my GPU to VR mode, and maxed out the frequencies and wattage. The performance graph still looks like what's screenshotted above, from me. An almost solid purple bar.
after even more testing, and staring at graphs, it seems to fail right as the application frame time goes above, for 144hz, 13.88ms. For 90hz I'd assume 33.33ms. so it seems to be specifically failing to reproject twice or more, or I could be barking up the wrong tree and this is a false lead.