Android (Godot): Why FPS limit ≠ display refresh rate on 120 Hz devices? (Terraria / Mobile Legends example)

Godot Version

4.6

Question

Hi. I’m testing a Godot game on Android devices with 120 Hz displays (specifically Redmi Note 12 Pro), and I have a question about FPS limiting vs actual display refresh rate.

I understand the difference between application FPS and display refresh rate (Hz), so this is not a performance question.

What I observe:

In Godot, with:

VSync = ON (also with OFF same problem)

Max FPS = 60

the game renders at ~60 FPS, but the display stays at 120 Hz.

In games like Terraria and Mobile Legends on the same device:

selecting 60 FPS (or 30 FPS)(Terraria)

the system display refresh rate actually switches to 60 Hz (or 30 Hz)

This behavior can be verified using Android Developer Options > Monitoring > Power consumption > frame rate monitor tools (in my case)

So the difference is:

Godot > limits FPS only (on 120Hz screen)

Terraria / Mobile Legends > triggers real display refresh rate change

My questions:

Is it possible in Godot to achieve the same behavior as Terraria — forcing the display to 60 Hz?

Or is Godot’s design intentionally limited to FPS control?

I’m mainly interested in the technical explanation and best practices for Godot games on high-refresh-rate Android devices.

Thanks.

I guess it’s largely automatic. Check out the Swappy options in ProjectSettings — Godot Engine (stable) documentation in English.

I (guess) tried all of them, but it didn’t work. The FPS changed, but the display refresh rate was not affected.

If I don’t change the display refresh rate, the game runs at 60 FPS(max fps set to 60) on a 120 Hz screen, which causes stutters/lag between frames. I also tried turning VSync off and on, but the result was the same.

I guess the only way might be to somehow limit the screen refresh rate(Hz) not fps

This might be a bug, see FPS is locked to 60 on Android 15, even with a 120 Hz display · Issue #104179 · godotengine/godot

That sounds pretty bad. I wonder how many of the high-framerate devices are affected.

1 Like