Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Voting for the Unity Awards are OPEN! We’re looking to celebrate creators across games, industry, film, and many more categories. Cast your vote now for all categories
    Dismiss Notice
  3. Dismiss Notice

LWRP 4.0 Oculus Go - Final Blit Performance. Is it needed?

Discussion in 'Graphics Experimental Previews' started by swirvithan, Dec 11, 2018.

  1. swirvithan

    swirvithan

    Joined:
    May 26, 2017
    Posts:
    13
    Hi all,

    I've been working on performance optimizations for our Oculus Go project for a bit and noticed a rather large performance drain in the FinalBlitPass that the LWRP enqueues. FinalBlit accounts for about half of the GPU time of our frame. I ended up disabling it by removing the "isTargetTexture2DArray" portion of the "RequireIntermediateColorTexture" function in ScriptableRenderer.cs, but I'm unsure why we need a intermediate color texture when using VR/Texture2DArrays in the first place.

    The latest version of LWRP seems to keep this same behavior, though in renamed files.

    Does anyone know why VR/using Texture2DArrays for the camera target requires the LWRP to use an intermediate texture and then blit to the final framebuffer? Though we've seen an awesome performance boost from disabling this behavior I'm weary of deleting things without understanding them. :D

    Thanks!
     
  2. equalsequals

    equalsequals

    Joined:
    Sep 27, 2010
    Posts:
    154
    IIRC it's a current issue with the core engine implementation, but I could be conflating that with one of the multiple other underlying core engine issues like MSAA and Depth.
     
  3. swirvithan

    swirvithan

    Joined:
    May 26, 2017
    Posts:
    13
    I did see the comment in the LWRP about requiring a depth prepass for MSAA that you might be referencing, and funny enough have also disabled that when building for Android. MSAA still works on the Go so I assumed it was a desktop exclusive problem. I'm guessing the Texture2DArray FinalBlit behavior is the same type of thing.