Search Issue Tracker

By Design

Votes

0

Found in

2018.4.0f1

2019.2.0a1

2019.3.0a1

2019.3.0b3

2020.1.0a5

Issue ID

1185462

Regression

No

[SRP][VR] Performance is significantly worst using Single Pass Instanced compared to Multi-Pass Rendering

XR SDK

-

Steps to reproduce:
1. Create a new HDRP project
2. In Player Settings, set 'Virtual Reality Supported' to true, and choose Open VR
3. Change Stereo Rendering Mode to 'Single Pass Instanced'
4. Open Profiler
5. Put on the VR device or cover the headset inner sensor
6. Enter play mode

Results: FrameEvents.XRBeginFrame -> XR.WaitForGPU -> XR.WaitForGPU -> Gfx.WaitForRenderThread spikes up to 110ms. If entering play mode before putting the head set Gfx.WaitForRenderThread cost 50-60ms. Tested with GTX 1060 and i7-6700K.
With this set up and using Multi Pass Gfx.WaitForRenderThread cost 20-30ms and there is no difference in entering play mode with the device or without.

Reproduced with: 2020.1.0a5, 2019.3.0b5, 2019.2.7f2, 2018.4.10f1

Tested and reproduced with:
HDRP 7.1.1 and 5.7.2
URP 7.1.1
LWRP 5.7.2

Note:
- The issue isn't consistently reproducible and performance degradation varies quite often.
- This issue is easiest to reproduce with HDRP and OpenVR, but it can be reproduced with URP, LWRP, and different SDKs (tested and reproduced with Oculus and OpenVR).
- This issue isn't reproducible with Default RP.

  1. Resolution Note:

    The attached project is using "High Quality Volumetrics". This feature is extremely costly, especially in VR. Disabling should resolve the performance issue you're seeing.

Comments (1)

  1. jeanpaul84

    May 17, 2021 07:43

    Hi,
    I'm having this exact same issue. Can you please explain why the issue is by design? Single pass is meant to provide better performance than multi-pass.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.