ValveSoftware / steamvr_unity_plugin

SteamVR Unity Plugin - Documentation at: https://valvesoftware.github.io/steamvr_unity_plugin/
BSD 3-Clause "New" or "Revised" License
1.03k stars 256 forks source link

Very bad performance when running in background for some time #296

Closed mattem86 closed 5 years ago

mattem86 commented 5 years ago

Hi, we use a SteamVR Windows 10 Unity app (2018.2.x and 2018.3.x tested) which is part of a bigger setup (eye-tracking etc). A few applications run at once and the Unity Standalone player is running in background. I do not know what release exactly, but last year it worked flawlessly. Since a few weeks the following problem arised: If the Unity Standalone Player is focussed (aka the momentary active application), the FPS is 90 and the headtracking (we do not need the controllers) is great. If we unfocus the app but let the player running, after some minutes (10-15, it is not deterministic) the FPS is still 90, but the tracking is very bad. It is visible in SteamVR that Reprojection turns crazy (on and off very rapidly) and inside VR the head motion is unusably stuttering (the performance graph has a lot of yellow and red lines in it). As soon as I focus the player again, everything works fine. I tried to profile this, but it gave me no insights, the only things which took most of the frames are Unity internal methods like XR.WaitForGPU and PrePostLateRendering and what so ever.

I'm not sure, if this is a SteamVR, Unity or Windows thing. I hope the provided information is enough clue for somebody to investigate in the right direction.

Thanks in advance, Matthias

EntroPiGames commented 5 years ago

Looks like this might be related to this Unity issue: https://issuetracker.unity3d.com/issues/vr-earlyupdate-dot-xrupdates-cpu-usage-increases-by-about-2-dot-4ms-every-10minutes-if-the-unity-player-isnt-focused-on

mattem86 commented 5 years ago

Yep, thank you, it looks like it. So, it's apparently a Unity bug, I hope they get this fixed soon. I'll close this though.