FPS Meter icon

FPS Meter

by rdevz-ph · MIT · open source

Free · Android 8.0+ · Game Tools

Overlay frame pace, temperatures, memory and battery data on a game, and use Shizuku when you need SurfaceFlinger compositor timing instead of display-vsync pace.

Needs:Android 8.0+ · overlay access · Shizuku for real game FPS

No known trackers in the code Signer matches F-Droid’s record

2113 Apps is independent, not affiliated with or endorsed by rdevz-ph. Official sources: rdevz-ph.github.io · source code on GitHub.

Download APK · 1.8 MB v3.0 · checked
Version
3.0
Size
1.8 MB
Requires
Android 8.0+
Updated
2026-10-22

Screenshots

FPS Meter screenshot 1FPS Meter screenshot 2FPS Meter screenshot 3FPS Meter screenshot 4

Introduction

FPS Meter is an open-source overlay for watching Android performance while another app or game is on screen. It can show frame rate and frame time alongside battery level, RAM and available temperature readings, save summary statistics for a session and place controls in a floating bubble or Quick Settings tile.

This page covers F-Droid’s 3.0 source build. We matched its 1.8 MB APK to F-Droid’s signed index, confirmed its Shizuku provider and read the fixed v3.0 source and known-limitations document. We did not compare its numbers with external hardware on a physical phone, so this is not a calibration test.

Display pace versus real game frames

FPS Meter has two measurement providers, and their difference is essential:

  • Choreographer, the default, samples Android’s display-vsync callbacks with very little overhead. The interface calls this “Display pace”. It can indicate the screen cadence but does not inspect the target game’s own frame buffers.
  • SurfaceFlinger runs privileged shell commands through Shizuku, finds the active rendering layer and primarily reads presentation timing from Android’s compositor. When that column is unavailable it can use frame-ready timing or the layer’s frame counter instead. The app labels this “Real Game FPS” and also attempts to identify Vulkan or OpenGL ES; an undetected API is displayed as GL rather than “unknown”.

If Shizuku is not running when the overlay starts, disconnects later, or the collector reaches three uncaught errors in a row, the overlay silently falls back to Choreographer. The main settings card does turn grey and show “Requires Shizuku” while the service is unavailable, but an overlay already on screen and its saved or shared sessions do not label the fallback; only a log message records it. Most parsing failures instead produce 0 FPS. Shizuku reconnecting does not switch an existing overlay back, so stop and reopen it after the service returns.

Overlay, sessions and automatic start

The overlay can be dragged or snapped to six screen positions. Metrics can use a compact pill or version 3.0’s new multi-row, RTSS-style layout. Its rows are controlled by individual settings; an enabled metric that cannot be read shows --. The displayed frame time is calculated as 1000 divided by FPS, while “minimum FPS” is the lowest one-second average rather than the slowest single frame.

The Games screen can launch selected apps and record average, minimum and maximum FPS plus duration. History and summary cards are stored locally rather than saving every raw sample. A floating control bubble can start or stop recording and hide the HUD without leaving the game.

Automatic start is optional and uses an Accessibility Service to notice foreground app changes. The project sets that service not to retrieve window content, but it still has powerful accessibility access. Its “Via Shizuku” setup writes Android’s enabled-accessibility-services setting directly: it preserves other listed services, but turns the global accessibility switch off for roughly one second while applying the change, bypassing Android’s normal restricted-setting approval screen. Manufacturer game sidebars and aggressive background management can still confuse or kill the service; upstream documents filters and a force-stop/re-enable recovery flow rather than claiming universal reliability.

Hardware readings and privacy

Battery temperature and charge come from Android’s battery broadcast. With Shizuku, the app also queries the thermal service and device-specific Linux thermal zones for CPU, GPU and SoC temperatures. Names and availability differ widely across Snapdragon, MediaTek, Exynos and other devices. Version 3.0 has no code for GPU or RAM clock frequencies, and root-only files remain unavailable because FPS Meter is designed for non-root use.

The APK declares seven permissions for a foreground overlay service, notifications, special overlay access and Shizuku; one is Android’s automatically generated receiver permission rather than a user-facing capability. It has no internet permission, and our static scan found no known tracker SDKs. Session history, configured games and diagnostic readings remain local unless you deliberately share a generated scorecard or diagnostic report through another app. The manifest allows Android backup and ships empty backup-rule templates, so those local settings and records may also enter a system backup.

About this file

  • This is F-Droid’s source build of 3.0, signed with F-Droid’s key.
  • The 1.8 MB APK needs Android 8.0 or later and includes native libraries for 32- and 64-bit ARM and x86.
  • Its measured SHA-256 is 54f4be6d08dce30249686e51f60a74c1f8c2920a0c1965cef67780805d34337d, matching F-Droid’s signed index.
  • It has no internet permission; our scan found the Shizuku API and no known tracker SDKs.
  • FPS Meter is licensed under MIT. Shizuku is optional for the basic display-pacing overlay but required for its SurfaceFlinger game-FPS mode and privileged hardware readings.

What’s inside the APK

Trackers

None found

No code matching the Exodus Privacy tracker signatures.

Native code

4 CPU types

Runs on 64-bit and older 32-bit ARM phones.

Android versions

Android 8.0 and up

Built for Android 16 (target API 36).

Permissions

7

1 of them need your approval first.

Shizuku API. Uses the Shizuku API, so it can do ADB-level work without root once Shizuku is running. (rikka.shizuku.Shizuku$1)

CPU types in this build: arm64-v8a (64-bit ARM, almost every phone since 2017); armeabi-v7a (32-bit ARM, older and budget phones); x86 (32-bit Intel, emulators); x86_64 (64-bit Intel, emulators and Chromebooks).

Asks you first (1)

Android shows a prompt before the app can use these.

  • Show notifications (Android 13+) · POST_NOTIFICATIONS

You switch these on in Settings (1)

Special app access. Nothing is granted until you turn it on yourself.

  • Display over other apps · SYSTEM_ALERT_WINDOW
Granted at install (2)

Low-risk permissions Android grants automatically, plus any we have not classified.

  • FOREGROUND_SERVICE
  • FOREGROUND_SERVICE_SPECIAL_USE
Defined by other apps (3)

Permissions that belong to another app or to this app itself.

  • com.rdevzph.fpsmeter.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
  • moe.shizuku.api.permission.SHIZUKU
  • moe.shizuku.manager.permission.API_V23

More Information

Package name
com.rdevzph.fpsmeter
Version
3.0 (build 22)
File size
1.8 MB (1,836,060 bytes)
Requires
Android 8.0 or later
Category
Game Tools
License
MIT
Developer
rdevz-ph
Released
Oct 22, 2026
Signed by
F-Droid, which built this APK from the published source code. Because the key is F-Droid’s, it won’t install over a copy from Google Play or GitHub (or the other way round) without uninstalling first.
Signer SHA-256
a7eb48222821c4074908d289c46e9737b0942148a686076b1549da0f6ed48006
File SHA-256
54f4be6d08dce30249686e51f60a74c1f8c2920a0c1965cef67780805d34337d
Checked
, against the F-Droid index · how we check · verify it yourself

Common questions

Is this APK the official FPS Meter release?

It is F-Droid’s build rather than the developer’s own: F-Droid compiled FPS Meter 3.0 from the published source code and signed it with its own key. Its SHA-256 matches F-Droid’s signed index. Because the key is F-Droid’s, it won’t install over a copy from Google Play or GitHub without uninstalling first.

What Android version does FPS Meter need?

Android 8.0 or later (API level 26). Version 3.0 is built for Android 16 (target API 36). Runs on 64-bit and older 32-bit ARM phones.

Can FPS Meter access the internet?

No. The APK doesn’t request Android’s internet permission, so the app can’t go online by itself. In total it declares 7 permissions, and 1 of them needs your approval first.

Does FPS Meter contain trackers?

No known trackers: our scan of version 3.0 found no code matching the Exodus Privacy tracker signatures. The scan covers known tracker libraries; it doesn’t show what data the app itself sends.

Is FPS Meter open source?

Yes. FPS Meter is released under the MIT licence, and its source code is published at https://github.com/rdevz-ph/FPS-Meter-Android.

Does FPS Meter show a game’s real FPS without Shizuku?

Not through its default Choreographer provider. That mode samples Android’s display-vsync pace. The Shizuku-backed SurfaceFlinger provider primarily uses presentation timing from the active layer, with other compositor counters as fallbacks, so it is closer to game output but still depends on finding the right layer.

Why are some temperatures blank, and where are GPU or RAM clock speeds?

Sensor names and permissions vary by chipset and phone maker, so thermal rows may show no value. Version 3.0 does not implement GPU or RAM frequency readings at all; its hardware rows cover the metrics the source actually collects, not every label commonly shown by rooted performance tools.

Recent releases

Version Released Size Requires
v3.0 · this download Oct 22, 2026 1.8 MB Android 8.0+
v2.9-hotfix Oct 16, 2026 1.8 MB Android 8.0+
v2.8-beta Oct 14, 2026 1.8 MB Android 8.0+

Versions currently kept in the F-Droid repository. We host and check only the newest one. Full changelog.

Alternatives and related apps

  • aShell System Tools·2.3 MB·v0.30 A general Shizuku shell for running Android diagnostics yourself, without a game overlay.
    Download
  • Shizuku System Tools·2.6 MB·v13.6.0.r1086.2650830c The service FPS Meter uses for privileged SurfaceFlinger and thermal commands.
    Download

Shizuku Apps: 18 Open-Source Tools, Each Checked for the Shizuku API

View topic ›