I'm new to Godot and came from ue4 as I wanted to have a go at making 2D games. I tested my game on android and noticed low frames. I checked and noticed I had 100% GPU usage despite the small size of the game so far. I tested an empty project also and got around 40% GPU usage. Is this expected performance or am I missing something? I tested some games on the app store and saw much better performance despite them rendering much more so I'd expect an empty project to gave very low GPU usage.
(Also I'm already using GLES2)
Bad performance on mobile
- Edited
I get about 70% usage (of one core) from two of my turn-based games with nothing moving. I've got an older phone, so your numbers seem about right. Godot has a certain amount of overhead involved in handling methods that aren't always used, not to mention just redrawing the screen. However, I'm not sure that would explain your low framerate. Have you looked at the optimization section of the documentation?
Edit: I can move 2500 bunnies around simultaneously at 60fps on my old phone, using my bunnymark.
- Best Answerset by Mystic51
GPU usage and FPS are not totally dependent. You can have 100% GPU usage and 9,000 FPS, or 40% GPU usage and 25 FPS. It really depends on what the bottleneck is and what you are doing. The GPU usage has nothing to do with the performance, but rather the utilization. Which implies the efficiency, but that can't be computed without also knowing the performance (or FPS). But none of that matters unless you consider what you are rendering. For example, rendering The Last of Us 2 on an Android phone at 60 FPS with 100% GPU usage would be rather good. Or if you were rendering Super Mario Bros 1, even at 40% GPU usage, it would suck if it were 15 FPS. So there is a lot to consider.
However, I have gotten really good performance on 2D (and even 3D) with Godot on Android, so if may be that you made a mistake, or that your game is not properly optimized. You can use the profiler to check this, though it is kind of complex to decipher. More likely you will just need to do more tests or tutorials so you can familiarize yourself with how Godot works, so you can learn how to optimize it. But this comes with experience.