Sorry I don’t know what the exact issue is, and maybe ECS has nothing to do with it. But I am running out of ideas. (I tried the unity VR forum, in case its a VR related issue. But got no response. SteamVR always "late start", even at 80Hz with enough CPU. )
I am on Unity 2022.3.0. using URP. with DX11 on windows 10.
When I have RenderDoc loaded in the Editor, the frametiming on the render thread performs better (this is how I interpret it). Why?
Any insight about the images below is appreciated. Some speciflic things I don’t understand:
- I don’t know why these renderthread events are moved in the frame by renderDoc, or why it works better with it loaded in the editor.
- I don’t know where this “CustomRenderTexture.Update” comes from, I’ve tried toggling settings on the camera, BuildSettings and Universal Render pipeline Asset.
- I don’t know if the above points are even the cause of this issue.
Without loading RenderDoc in the editor, the frame is not pushed to SteamVR on time. And steamVR shows a “late start”.
With RenderDoc loaded in editor. Some events are moved on the RenderThread and the “PopulateNextFrameDesc” now takes up the expected time. Resulting in correct frame timing for SteamVR.
In VR a stable framerate is very important, so there is a special Vsync that keeps the FPS at a stable value. In the profiler this shows up as the “FrameEvent.XRBeginFrame” so this is not a bottleneck. Unity - Manual: XR SDK Display subsystem