Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Feedback SRP update loop performance improvement

Discussion in 'Graphics Dev Blitz Day 2023 - Q&A' started by optimise, May 25, 2023.

  1. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,113
    @AljoshaD Is that official has any plan to further improve of SRP/URP/HDRP RenderPipelineManager update loop performance? From what I see what can be done today to improve performance significantly is slowly adopt dots and slowly moving code SRP/URP/HDRP codebase little by little to ISystem to burst instead of currently all is managed C# code which I think it's really hard to further improve performance significantly. And also from I what know URP/HDRP implements the structure that looks quite similar to dots for certain features like I think is decal then why not just use dots?
     
  2. AljoshaD

    AljoshaD

    Unity Technologies

    Joined:
    May 27, 2019
    Posts:
    217
    Hi Optimize,
    We have a number of different improvements planned to optimize the CPU cost of the render loop. We're currently doing another round of analysis to find the most impactful places to optimize. It's definitely a top priority.
     
  3. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    4,969
    I made a PR some time ago with minor performance improvement on GitHub some time ago. Have those been looked at and now standard practice?
    https://github.com/Unity-Technologies/Graphics/pull/7657
    https://github.com/Unity-Technologies/Graphics/pull/7653
     
  4. AljoshaD

    AljoshaD

    Unity Technologies

    Joined:
    May 27, 2019
    Posts:
    217
    Thanks for your suggestions in the PR. I see some of our team members commented on the PR and looked at the changes. During our profiling, we are looking for the most impactful opportunities to optimize and will focus our time on that.
     
  5. DevDunk

    DevDunk

    Joined:
    Feb 13, 2020
    Posts:
    4,969
    Most are single-line changes, so these changes will not be picked up by that, but of every script optimizes these it might give a small boost
     
    goncalo-vasconcelos likes this.
  6. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,113
    Awesome. Can you make sure the optimization improvements can fully address case IN-35920 and case IN-42865 at mobile platform? I would like to see my Snapdragon 855 phone can achieve solid 60 fps at both cases after the improvements.
     
    Unifikation likes this.
  7. Unifikation

    Unifikation

    Joined:
    Jan 4, 2023
    Posts:
    1,079
    How about you reason about what's the best way to make optimal SRPs and work towards that, especially since they've been in a catchup phase forever, hobbling the consideration of what they are, and what they should be.
     
  8. optimise

    optimise

    Joined:
    Jan 22, 2014
    Posts:
    2,113
    Actually roughly 3 years ago there's proposed solution from official staff but the solution is basically rewrite the entire graphics part of the engine that needs to invest insane amount of resources and time. What I imagine is at engine side only implement super thin wrapper layer just use to interface with platform graphics API like DirectX, Vulkan, OpenGLES3 and etc then there's pure DOTS renderer package fully written in C#. It remove a lot of abstractions that before reaching platform graphics API, it needs to start from SRP Frontend (URP/HDRP) -> Engine Graphics backend (SRP Batcher/ Gfx device/ etc). Not sure if official wants to invest on this or not.

    There's no concrete plans for pure DOTS renderer yet for high end. Tiny exists for low end. We have done some DOTS pure rendering prototyping at Hackweek, and results look promising, but it would take years of development time to replace UnityEngine render backends, URP and HDRP completely. This is not something we are focusing to do right now. Instead we plan to improve hybrid renderer URP and HDRP support, to allow developers and artists to adapt DOTS ECS with minimal pain in their current GameObject + URP/HDRP based projects. DOTS is a huge performance increase and Hybrid Renderer V2 provides significantly better performance than Hybrid Renderer V1, which already provided much better performance than GameObjects.
     
    Last edited: Jun 10, 2023
  9. Unifikation

    Unifikation

    Joined:
    Jan 4, 2023
    Posts:
    1,079
    Perfect examples of planning to skate to where the puck was. Not even where it is, let alone where it's going to be.