SteamVR-for-Linux icon indicating copy to clipboard operation
SteamVR-for-Linux copied to clipboard

Reprojection failure on high GPU usage (scheduling problem?)

Open Skyliner-369 opened this issue 1 year ago • 8 comments

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: Steamvr Cant Reproject When unstressed: Steamvr Can Reproject

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.

Skyliner-369 avatar Apr 15 '24 16:04 Skyliner-369

new gist with steamVR set up as it should: https://gist.github.com/Skyliner-369/7c69f7abb69872eb89329ff82b245f86

Skyliner-369 avatar Apr 15 '24 16:04 Skyliner-369

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)

Vixea avatar Apr 28 '24 05:04 Vixea

This needs to be retested with the newest beta.

Vixea avatar May 29 '24 01:05 Vixea

Compositor still fails to deliver 144 FPS to the headset if the gpu is saturated, RX 7800 XT.

olekolek1000 avatar Jun 05 '24 14:06 olekolek1000

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.

Skyliner-369 avatar Aug 18 '24 00:08 Skyliner-369

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.

Skyliner-369 avatar Aug 20 '24 18:08 Skyliner-369