Why so low fps on my simple 2d game? (8 fps on android device)

Im building my very first game and my guess is that I have done some beginner mistakes here… The game is a board game with very little animations (but the few I have is extremly laggy). Even when Im in the lobby I have 8 fps! I then made a grey UI panel covering the entire lobby. It gave me the exact same fps…? My android device is a new sony experia 8" tablet with 1920*1200 resolution.

When I run the game with grey panel background in the unity editor I get 22 fps (I have a ok computer). And if I lover the resolution to 1136*640 i get 37.

Heres what I think might have to do with the low fps (before I start messing around with this I felt like asking here):

  1. My game has alot of UI panels/text/buttons.
  2. I have added the shadow script to just about everything for nicer look.
  3. The game is in one scene only. Meaning when you go from menu/lobby to play wiew I just make the lobby disapear with .alpha, .interactable and .blocksraycasts. …and vice versa.
  4. Its made in unity 4.6.4 and not in unity 5.

There can many reasons, and no-one can really help without knowing what is exactly happening in the game. However, in Unity 5 Personal version Profiler is included now. So that can really help you where the resources, are getting used. Here is the manual, read it. It’ll really help you optimise the game, and get a better understanding as to what’s causing this issue.

Do you use pixel perfect in your canvas? That might be a bottleneck when you have lots of animated UI.

Also do you keep all your objects that can appear in game live? If so you should consider instantiating and destroying them instead.

Also check your quality settings (Edit => Project settings => Quality). Something like removing AA might help (make it an option in your game).

Check the sizes of your Textures (e.g. if you have Texture with 4kx4k but you need only 256x256 then you know what to do).

P.S. Also you should try to reduce draw calls if you have tons of them, and many more. As lordlycastle wrote - it is really broad subject, and it will be hard to guess where is your bottleneck and if it is only 1.

There are many things that could be at fault without looking at the project.
Is your UI using a lot of canvases? What do you have in your Update loops?
Also, do you have empty update loops? What’s the resolution of the textures?

Thanks everybody! I guess the answer was that I had to many canvasgroups (UI panels) in my scene covering everything. The more i remove the higher fps i get. I have also implemented alot of Destroy(IntroUIpanels) so that after your intro they are gone and that also helped the fps. It has now gone up to about 13-19 wich i think is ok for the game im making.