Search Unity

Look Up Texture(LUT) post processing effect tanks FPS

Discussion in 'Universal Render Pipeline' started by prometeoproduction, Apr 1, 2020.

  1. prometeoproduction

    prometeoproduction

    Joined:
    Apr 19, 2019
    Posts:
    17
    I'm using Unity 2019.3.7f and the only effect I'm using as post processing is Color Lookup.

    I've used LUT with other assets in the past and the effect on performance was minimal but the same effect using PPV2 is very heavy.

    On Galaxy S6 Edge the game without effect is on constant 60+ FPS while with the effect it doesn't exceed 30 FPS.

    Same thing with P8 Lite,45 fps constant without effect goes to 15-20 FPS with the effect.

    I'm using a 1024x32 LUT and the Grading Mode is on Low Dynamic Range,no HDR.

    Is it normal for it to be this heavy?
     
  2. prometeoproduction

    prometeoproduction

    Joined:
    Apr 19, 2019
    Posts:
    17
    Test with Amplify Color (https://github.com/AmplifyCreations/AmplifyColor) without URP,same visual effect but no effect(very minimal) on performance.

    60+ fps on Galaxy S6 Edge,45 fps P8 Lite.

    Why is Color LookUp in PPV2 so heavy compared to other assets?

    The final result is identical but there is no comparison in terms of performance.
     
  3. o1o101

    o1o101

    Joined:
    Jan 19, 2014
    Posts:
    639
    I have also had disappointing Android / iOS performance around the board from post processing in URP.. From my testing, LDR colour grading in PPV2 seemed to be faster than PPV3.
    I have used Amplify colour frequently in the last couple years as well on Android/iOS, and never noticed such harsh performance drops from it.

    I don’t have the time to put together any numbers at the moment, but it does seem like something isn’t right.
     
  4. FranFndz

    FranFndz

    Joined:
    Sep 20, 2018
    Posts:
    178
    New unity post fx use uber shaders, even with one effect on is like using many of them at the same time. My idea was that non used effect would be taked out from the shader, but that do not happens (just some are cut out, panini effect, tonemapping).

    What i did at the end was creating my own LUT effect. it works 99.9% ok, just some color offset in linear mode, but normal user wont see any diference.


    By my tests i conclude
    • Turning off the Volume do NOT turn off the effects (they keep running in the background).
    • Turn off the Effects using the ; UniversalAdditionalCameraData script
    • Can't see any difference using Stop NaN
    • HDR have performance down
    • Depth Texture create GMEM, slower
    • Is better to use Post Effect with Vulkan. Open GL is slower.
    • New unity post effect have many GMEM (previous postrender, prerender had 0, way faster)
    • Using Vulkan can not profile Frame debugger on windows or profile shader, run time editing (they are compiled in SPIR-V)
    • Bloom is very heavy, edit the k_MaxPyramidSize to 3 or 4. (Or make a new bloom system)
    • All my test had at least 10 fps down. (at least 4 ms, aim 60 fps)