Could 3D gets any higher than this in mobile? (Android)
So yesterday i do a little testing on my Redmi 9 (specs here), which i think is a reasonable low-mid end device, not modern but not too old either. And i exported a scene with just one meshinstance cube (default size, no movement), and track their fps.
As you can see below, with such a simple, almost blank project (with Godot 4.3, 720x1280 reso), the game with Mobile rendering got 27fps while on Compatibility it got 41fps. This is quite concerning since i thought if an empty project has this (low) FPS, then my actual project will have nowhere near it. I tried Godot 4.4dev7, it's either improve/decrease the FPS by 1-3, no noticeable leap. Another concern is that the same exact setup runs at stable 60fps when recreated in Godot 3.6, on both GLES2 and GLES3. (Why are you like this Godot 4😔)
Me and my (3D artists) team currently in the making of a Subway Surfer like endless runner, and with only one character (low poly) and the ground, it reach 10fps and 16fps for Mobile and Compatibility rendering respectively, which is far from the targeted 60fps. I don't want to re-do it in Godot 3 since the language (GDScript) difference would mess with me and my team's workflow, with several other reasons.
Are there any workarounds to make at least this empty scene runs on higher fps, or maybe 3D improvement in general? I'm also curious are there any successful 3D mobile game out there that was made with Godot 4 for reference.
EDIT1 : Here are some optimization method that i tried and does increase fps
- Instead of using the default ProceduralSky material for the WorldEnvironment's Sky, use a modified Shader material instead (here)
- Turning off post-processing effect on WorldEnvironment like Glow and Tonemap Mode
- Use "viewport" stretch mode
Another optimization that i haven't tried is modifiying the rendering/scaling_3d/scale
setting on project settings.