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.