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. Dismiss Notice

Performance Issues HDR/Bloom Android Unity

Discussion in 'General Graphics' started by z0code0z, Sep 16, 2018.

  1. z0code0z

    z0code0z

    Joined:
    Apr 10, 2018
    Posts:
    38
    Basic HDR and Bloom setup with some objects that have emission!

    Looks beautiful but lags majorly, this is a 2d game btw!

    Im using KinoBloom (https://github.com/keijiro/KinoBloom)

    and on some devices, lowering the resolution does help but sometimes the resolution has minimal effect AND makes everything look ugly!

    Any help would be appreciated!
     
    anthonyfruit likes this.
  2. Mauri

    Mauri

    Joined:
    Dec 9, 2010
    Posts:
    2,657
    Post processing effects are quite expensive, especially on mobile. What are the devices that you have tested it on?

    If you don't mind spending some dollars, you could give Sleek Render: Mobile Post Processing Stack a try.
     
  3. z0code0z

    z0code0z

    Joined:
    Apr 10, 2018
    Posts:
    38
    i tested on samsung tab 3 (t210r and t217s), galaxy s4 and s5, pixel 2 xl

    I had a friend import my project and attach sleek render just to see how much of a difference it made, it made maybe a ms or two a difference and barely affected the frame rate

    for being free kinobloom seemed alot better of an option but thanks for the suggestion!!

    on t210r the glow effect doesnt even work (i made another thread for that XD) and the frame rate was terrible
    t217r - as long as the resolution is dropped to about 80% it was meh but it shouldnt need to do that, its a 2d game that barely takes advantage of bloom/hdr
    the galaxy s4 and s5 had similar results, lowering resolution helped but again WHY! :(
    pixel 2 xl had no problem whatsoever running 60fps all throughout no stutters
     
  4. aleksandrk

    aleksandrk

    Unity Technologies

    Joined:
    Jul 3, 2017
    Posts:
    2,844
    t210r, t217s, galaxy s4 and galaxy s5 are all old devices. Post-processing on mobile devices in general is expensive, but even more so on old devices. Lowering resolution or disabling post-processing effects on these are more-or-less the only options you have.
    Pixel 2 XL is a new and quite powerful device, so it can do bloom at 60 fps.
     
    Mauri likes this.
  5. GoGoGadget

    GoGoGadget

    Joined:
    Sep 23, 2013
    Posts:
    855
    S5 should be able to handle some basic effects, even the S4 if they're properly written - what version of Unity are you on? If you're on 5.x or 2017.x, I'd be happy to send you a trial version of my post-processing asset PRISM for you to test. Put simply, it's production-ready for mobile on those versions and has already been used for multiple released games, and isn't new (which is a good thing, means it works on older devices!).

    What a lot of people (including Unity) don't take into account that mobile post-processing doesn't have to be pixel-perfect, you don't have to worry about converting into the "best" color space for blurring, you don't have to have multiple layers of HDR bloom, you don't need to do multiple passes if you really want to.

    For instance, KinoBloom is a classic example (similar to much of Unity's current PostFX stack) of an effect that isn't designed with low-end mobile in mind. Here are the mistakes it makes at a glance:
    1. Only allows full or half-res rendering. Quarter-res is perfectly suitable for older devices in less dynamic scenes.
    2. Assumes every mobile device shouldn't use HDR textures (so even if you run it on a Pixel 2, which can do HDR, it will default to fake RGBM 'HDR')
    3. Also assumes every mobile device will use an HDR camera anyway, as it encodes into RGBM color space (a lot of wasted ops for non-hdr games that still want bloom!)
    4. Does a double-median filter for stability - on desktop this is fine, but can really kill perf. on a lot of old mobile GPUs! I prefer the simple last-frame-lerp method, costs a texture read & a lerp().
    And even with all of that said - it is a very well written bloom effect. But there's no such thing as a "one-size-fits-all" bloom that will work on every level of device perfectly.
     
    interpol_kun and ifurkend like this.
  6. ArpitTyagi01

    ArpitTyagi01

    Joined:
    Feb 21, 2018
    Posts:
    14
    Post processing is taking down PFS at 4 in Lenovo tab4 8 plus .
    Without Post processing FPS is more than 15 .
    any solution .