Quick answer: Android game capped to 30 FPS on a budget device even though the display is 60Hz? Recent Android requires apps to request 60Hz; system defaults are conservative.

A racing game runs at 30 FPS on entry-level Android. The device’s display is 60Hz but the system defaults the app to 30 for power.

setFrameRate API

surface.setFrameRate(60.0f, FRAME_RATE_COMPATIBILITY_FIXED_SOURCE);

Request 60 FPS explicitly. System honors if hardware allows; falls back if thermal-throttled.

Android Game Frame Pacing

Android Game Frame Pacing Library handles this for you, plus per-monitor refresh detection on multi-monitor docks. Reach for it on shipped games.

Thermal Throttling

Phones throttle GPU under load. 60 FPS may degrade to 45 mid-session. Build for variable rate with delta-time-based gameplay; tune scenes to keep thermals reasonable.

Display Mode Switch

For 90 / 120Hz displays, request that rate. App must declare highest possible rate it can sustain — system caches the rate and switches accordingly.

Verifying

Game runs at 60+ FPS on capable devices. Frame Pacing visualization shows steady cadence; no 30/60 flipping.

“Android defaults conservative. Request 60+ FPS explicitly via setFrameRate.”

Use the Android Game Frame Pacing library on every Android title — saves you from manually requesting per-display rates.