Hello dear Unity Community,
I have been working on a rhythm game for a period of time. I ran into performance issues when building the main menu using the new UI system.
The problem is that: Frame time gets incredibly high for unknown reasons. I disabled the panels that are not on the screen, otherwise the frame time would go even higher.
Like for this main menu, the frame time Xcode measured was around 12ms (I am targeting 60fps so this is pretty high for me)
For this tune select menu, frame time is about 11ms…
For this confirmation menu, frame time goes up to 19.2ms, dropping the frame rate to 52fps.
The project is running using Retina iPad resolution.
All the images here are imported as sprites even for the black gradient, using true color option.
Also I used masks on the bottom banner and the confirmation panel.
Upper banner and the bottom banner does not move. I only swap the panels in the middle.
I don’t think scroll rect has an impact but I have one in each menu panels.
Some elements overlap, but this is unavoidable for designing reason.
Each menu has about 160 draw calls (measured using built-in profiler).
I tried to disable elements on the screen. Disabling one element gives about 0.5~1ms boots but even when disable all the menu panels leaving all the upper banner and the bottom banner enabled still gives a about 11ms frame time.
What’s weird is that: when I disable only the bottom banner on the main menu screen, the frame time goes up to 13ms comparing to the 11ms when the bottom banner is enabled, which does not make sense. Only when I disabled the canvas, leaving the background moving grids on the screen, the frame time goes down to 4ms.
Also for comparison, this is the in game (in development) scene. All the elements are on canvas except for the square floating in the 3D space and the grids. Even here the frame time is only about 6ms (if no squares or the four-piece square fragments (sprites) on screen, the frame time is 4ms.
The project is built with Unity 5.1.2 using IL2CPP (Universal). I am testing on a iPad 4 (iOS 8.1). My CPU usage stays around 60% at any time. So I guess this is only a GPU related problem. I have been searching for related issues around but ended up in vain. So my question is that: is this a bug? If it is not, is there any way that I can optimize without losing the sprite quality (or the general graphics quality)?
Thank you for reading this post! ![]()





