- Home /
Android 30 FPS cap on minimal/empty scene
Hello everyone, This issue has been bugging me for few weeks. I started developing in Unity4 for android and have my galaxy tab 2 device to test things. I can't explain why, but on empty scene, or scene with very little to render, FPS counter displays right about 30FPS (very tiny fluctuations), so it is obvious something is capping those frames. I have experimented with almost every setting, even set up like the lowest possible player/quality settings (no pixel lights, no shadows, no 32 bit color buffer, disabled vsync, etc...) but to no avail.... The unity profiler says that cpu load is minimal and claims that game runs ~250FPS (but the GPU tab is not available, says something about old driver?) so it looks like a GPU bottleneck/issue?
The weird thing is that when I actually made a quite demanding scene with physics, particles, few thousand triangles and so on, game can suddenly run sometimes at 50-60 FPS, sometimes lower, but these changes are most probably caused by the now-actually-present cpu load.
I think it is something with hardware or android itself (weird kind of optimisation?)
[UPDATE] Just recenlty I discovered one more thing. When auto-rotate option is on, I have 60FPS on empty scene, but only on landscape! Every other mode (portrait, inv. landscape, inv. portrait) caps again at 30FPS. (It's not the FPS counter problem, you can really see the difference in frames smoothnes just by tilting the device and changing to inverted landscape, even though they render the exact same scene) Also revealing the android status bar sets the cap again at 30FPS
One thing that had impact on FPS was displayng touch marks (in device's developer settings), since it was kind of semi-transparent overlay, but i have that option turned off now.
Does anyone have a clue what the problem could be, and how to tackle this?