How to optimise image effects on Android?
I'm trying to add Bloom, and Vignette to my game. It's a basic 2D game with no more than a dozen of sprites on screen each frame. I still want to make the game atmosphere look good, so I decided I'd add some image effects, but with only those 2 mentionned effects in the game, FPS drops from 60 to 15 FPS..
What tips, practices, or better scripts to use to achieve those two effects? The build is on the Fastest quality settings too, no VSync, low textures.
Answer by AurimasBlazulionis · Feb 11, 2017 at 07:49 PM
Try using the new Post Processing Stack. Only enable the effects you need, and keep everything on lowest settings.
You can also try rendering to render texture and then display the render texture using UI Raw Texture component. This will lower the resolution for the image effects.
Try to avoid enabling HDR.
There are few things to note: VSync is always on on mobile, your game is already GPU bound if you did not already know, I am curious what device you use. Because these effects should easily work on most phones since 2013, and most flagship phones since 2011.
Thanks a lot!
I tried using the Post processing Stack, used only bloom and vignette, got relatively the same result.. However after disabling HDR with the default Unity image effects it finally went down to higher than 30 fps, I think I'm going to keep it this way, thanks again.
And it's a fairly recent tablet, Samsung Galaxy Tab A, should generally be as performant as most devices.
I'm looking into how fragment shaders work now so maybe I can try to optimise this even more somehow, but so far it's pretty playable at 40fps average.
Your answer
Follow this Question
Related Questions
Inexplicable performance difference in Unity Android 0 Answers
Low framerate on Android devices 0 Answers
Unity Editor 200 -250 FPS but Some Mobile Device stuck in my game 0 Answers
MoveTowards used on a path causes lag in build 0 Answers
Spawning objects one by one or in chunks (performance question) 0 Answers