I am experiencing massive lag when testing on Android devices. Here is an image of what the Active Profiler is displaying:
Obviously, the lag shown here is caused by the Blur Optimized image effect. When I disable the effect, fps returns to about 30. I would like to use the effect, but this behavior is far worse than what is preferred.
Additionally. when more active UI is present, I notice more lag.
In a second test, the only UI object was a Text object. This Text object had text which filled the entire screen of the device. Here is the screenshot of the Active Profiler:
Under 30 fps is rather poor. What am I doing incorrectly? I know Unity is more capable than this.
Here are some details on my project to help:
- In my project, menus are divided into “Manager” scripts. These managers each contain a Canvas Group, and countless UI objects (Text, Button, Image, etc.). There are about 20 such managers, each with 20-100 UI objects. When offscreen, the managers disable themselves (and their UI objects).
- I am building for the oldest version of Android possible to feature my game on the largest range of devices. If I remember correctly, I am building in 2.3.1
- I am testing on a Kindle Fire HD. Is HD just slow?
- In previous tests of previous versions of my game, lag as shown in the first attached image (over 150 ms) was named within the hierarchy as Mesh.SubmitVBO, Mesh.DrawVBO, or SpriteRenderer.RenderBatch.
So just to recap:
- Can I somehow use the Blur Optimized Shader?
- Why is my game experiencing such lag? It runs 60-120 fps on my computer. Is this normal behavior? How can I correct it?