I develop simple 2D sidescroller for mobile devices on Unreal Engine 4 and want to release it on Android and IOS. At the moment, I have a problem with the optimization of the devices, based on Mali GPU.
I have stable 50 fps on the old Nexus 4 and IPhone 5, but on better devices on Mali GPU fps does not rise more, than 12.
Because it is 2D game and it hasn’t lightmass, the transparency - is the only thing that can be the reason of such low fps.
Please, can you give me an advice how can I solve this problem without changing the translucent materials on masked or opaque?
P.S. I really want to get my game to works on Mali GPU based devices, because 60% of the all devices have it.
P.P.S. I didn’t received help on AnswerHub UE4, as well as on the official forums
In order :
1. Did you try to disable transparency (if it's possible) and see how the game perform ?
2. The following content should provide valuable hints on how to implement translucency without losing too much performances : Mali Performance 7: Accelerating 2D rendering using OpenGL ESThe basic idea is to avoid overdrawing at all costs, by drawing elements front to back. However, translucency require to draw back to front in order to blend correctly, which generates overdraw. Therefore, the point is to remesh you element in 2 or 3 parts and display the opaque parts in front to back, then the smaller translucent part in back to front to minimise the overdraw issues.
3. The Mali Graphics Debugger might provide you some hints about what's going on. Is it overdraw problems, bandwith issues, ...
It might even be a bad EGL configuration problem.