My mobile games fps start off in 40s FPS until after I pause and un-pause it, then it goes up to 60

I’m currently working on a mobile game for android using Godot 4.2, and I have been running into this constant issue with its Frames Per Second.

Through one-click-deploy, I have constantly been debugging my game and I notice that the FPS rate is never consistent, sometimes when I first turn the game on a map runs at 60, but sometimes it only runs at 40-45 until I pause the game and un-pause it, then it shoots up to 60 and runs perfectly smooth. After I leave the map and load another, usually the same error occurs.

I went through my resources and got rid of needless sprites and cleared up dependencies on files I deleted, at first it seemed to work, but then the issue still came up, I’ve also gotten rid of all yellow debugging errors and thought that maybe cleaning up the output helped, again it seemed to work but after testing the game a few times it still comes back up.

Another thing I’ve tried to do was go through the maps and make all the variables that grab enemies from the resources from “@export var enemy : PackedScene”
to “@onready var enemy = preload(‘res://…’)”. This seems to have helped a little bit, but I’m still confused.
Unfortunately, even adding in a loading screen didn’t help, and in some cases, it seemed to make it worse.

Since I know that my 2D game can run at 60 I’m going to strive to make it stay that way, especially since it’s a fast-paced reaction-based game, if its below 50 it looks too choppy.

I’m hoping that it’s something as simple as file sizes are too large, as just about every enemy sprite is a base of 256x256

I appreciate any help and am eager to hear back from the community. Thank you for your time!

1 Like

Have you tried any profiling?

1 Like

@nutlike4693 thank you for showing me this, I’ve never used this before, and just earlier today I seen a snapshot of it for the first time but didn’t know what it was. I’ll definitely look at that and see if it can help out

1 Like