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 [BUG] more than 140fps drop with Ambient Occusion PPV when switching to DX12?!?

Discussion in 'Image Effects' started by RR7, Aug 25, 2019.

  1. RR7

    RR7

    Joined:
    Jan 9, 2017
    Posts:
    254
    Hi,

    DX12 performance is woeful when I use it, it turns out that its because i'm using real-time ambient occlusion in post processing v2.

    I turned off all my game objects except the camera and its running at around 220 fps in the editor, as soon as I enabled the PPV object it drops to around 40-50 fps. the analysos screen says PlayerLoop> Camera.Render>UpdateDepthTexture>RenderTexture.SetActive if taking up 86% total from 1 draw call taking 30.552 ms.

    I do not get this scale of performance hit when running in DX11.

    doing a build does not fix it, so its not the editor itself causing the issue.

    it looks like it tied to the 'intensity' setting, which I have set to 1, but anything over zero and it triggers this performance hit.

    i'm running 2019.2.0f1m, windows 10 x64 1903 up to date, 8th gen i7, nvidia GTX 1070M Max-Q. its been like this since unity 2018.3 at least.

    it just feels like something is very very wrong!
     
  2. RR7

    RR7

    Joined:
    Jan 9, 2017
    Posts:
    254
    so, does no one else suffer the same issue? sorry if I've missed something obvious, but if that's the case i'd really appreciate a pointer in the right direction.
     
  3. soleron

    soleron

    Joined:
    Apr 21, 2013
    Posts:
    568
    You should not use the old Post Stack effects if you are using the new SRPs. I even removed it from the project altogether. Post effects are now part of the scene settings in newer versions of Unity.
     
  4. RR7

    RR7

    Joined:
    Jan 9, 2017
    Posts:
    254
    i'm using the built in render pipeline and post processing version 2, as directed by the documentation.

    https://docs.unity3d.com/Manual/PostProcessingOverview.html
     
  5. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Built in render pipelines have their own post effect. Please do not use V2 or V1 or any V with SRP. You should use the new volumes too.

    Also what version of Universal Pipeline are you using (the new name for LWRP)?


    I also left a note for Unity staff to update the broken documentation.
     
    soleron likes this.
  6. RR7

    RR7

    Joined:
    Jan 9, 2017
    Posts:
    254
    i'm sorry i'm really confused. *I am not using any SRP*. I thought the 'built in render pipeline' was the name for that.
     
    hippocoder likes this.
  7. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    DUH what a dumbo I am. OK in this case, these AO solutions do get slower the closer you are to a surface, so that could be an issue too. But likely it's a bug and DX12 support is heavily wanting for the built-in pipeline (I'm actually surprised Unity even support it for built-in as they're not adding any features to that any more).

    You could report a bug via bug reporter tool if you wanted, and I think DX12 is probably not finished at all... and I don't think much engineering effort goes toward that vs Universal or HDRP.

    For now I would suggest DX11 if it's possible. The main saving of 12 is supposed to be CPU time :)
     
  8. RR7

    RR7

    Joined:
    Jan 9, 2017
    Posts:
    254
    i'm happy to use DX11 if that's the case, I just need clarity on it as it performs SO bad that its either by design and shouldn't be used or its very broken and no-one else has mentioned it! i'll log a bug report. (EDIT: bug report now logged)

    thanks!


    EDIT: that said, for targeting XBOX one, I do need to save CPU time surely :)
     
    Last edited: Sep 19, 2019