FPS drop on android when not touching the screen

Hello guys,

I’ve just ran into a strange phenomenon: my game runs with solid 60FPS on an Android phone as long as I’m touching the screen, but once I stop it, the FPS drops to about 45-50 and the jittering is visible. It doesn’t matter where I touch the screen as long as I’m touching it, it can be anywhere, even if there are no buttons or anything on the area (so my game does not react to the touch at all), the game speeds up again to 60 FPS again, as long as I have at least one figer anywhere on the screen.

Is this something I don’t know about Android/MonoGame development or something in my own codebase? I’m using an old Galaxy S7 Edge with Android 8.0 for testing.

I haven’t heard of this from other apps on android. Maybe it’s a throttling feature to save battery you need to override? Makes sense in some way for mobile devices, to decrease performance when there is no interaction.

otherwise, I would check my input code, and make sure you aren’t running some heavy code-loop inside of an ELSE statement, when not getting input… Like maybe you are polling for input again and again, when in fact there is none.

1 Like

Thank you for the tips, it’s probably going to be some android functionality as you said, I have found other people complaining about this in Unity and other forums. There is no polling or anything like that in my code, but just to make sure, I’ve completely commented out the touch input part from my game, and it still behaves the same way.

Apparently, it’s an Android issue, people complain about the same thing in Unity and other forums as well. I’ve tested my game with a newer android version and the issue is not present there.

1 Like