Skip to content

About

A high-performance, lightweight FPS monitoring tool for Android. This application provides real-time frame rate overlays inspired by Samsung Perf Z and MSI Afterburner Style (RTSS) telemetry, offering a clean monitoring experience for mobile gaming and performance testing.

Topics

Resources

Contributing

Stars

36 stars

Watchers

1 watching

Forks

Repository files navigation

FPS Meter Icon

FPS Meter Android

Android CI API Kotlin License Version Downloads Telegram F-Droid Website Privacy Policy

A high-performance, lightweight FPS monitoring tool for Android. This application provides real-time frame rate overlays inspired by Samsung Perf Z and MSI Afterburner Style (RTSS) telemetry, offering a clean monitoring experience for mobile gaming and performance testing.

Official Website & Showcase: https://rdevz-ph.github.io/FPS-Meter-Android/

How It Works and Its Features

Note

Here is a high-level overview of how the application operates:

  • FPS Measurement Providers:
    • Choreographer (Default): Uses Android's Choreographer API to receive frame callbacks, measuring elapsed time to calculate real-time frames per second (FPS). Frame time (MS) is derived directly from this rate.
    • SurfaceFlinger (Game FPS via Shizuku): Connects to Android's compositor via privileged Shizuku shell commands to measure real game frame presentation buffers from active SurfaceView buffer queues.
  • Automatic Graphics API Detection: Automatically detects whether the foreground game is rendering with Vulkan or OpenGL ES (tested on games such as Genshin Impact and Wuthering Waves) using system GPU telemetry (dumpsys gpu and dumpsys gfxinfo), adapting the measurement method accordingly.
  • Hardware & Battery Telemetry:
    • Battery Temperature & Charge Level (BAT): Uses a dynamic BroadcastReceiver for Intent.ACTION_BATTERY_CHANGED to monitor real-time battery temperature and remaining charge percentage (BAT xx%) for fullscreen gaming. When both are enabled, they automatically merge into a unified indicator: BAT <temp> (<level>) (e.g. BAT 38°C (85%)).
    • SoC, CPU & GPU Temps (SOC, CPU, GPU): Queries Android's Thermal HAL (dumpsys thermalservice) and Linux sysfs thermal zones (cpu-*-usr, gpuss-*-usr) via Shizuku privileged shell access to monitor accurate live silicon hotspot, individual CPU core, and GPU temperatures during gaming across Qualcomm Snapdragon and MediaTek platforms.
  • Customizable Overlay Styles: Switch between the default compact pill and the multi-row MSI Afterburner Style (RTSS) telemetry layout featuring real-time processor model, clock frequencies, and color-coded hardware sensors.
  • Adaptive Dynamic Layout: Automatically presents a clean single-line pill when 1 to 3 metrics are enabled, and organizes into a structured two-line layout (Line 1: Performance metrics, Line 2: Temperatures) when 4 or more metrics are active.
  • Material 3 Navigation & Dedicated Screens: Modern navigation featuring Overlay settings, Games manager with 1-tap game launching, and dedicated FPS session History with per-app launcher icons.
  • Universal Auto-Record & Per-Game Recording: Choose between universal automated session recording for all active games or per-app configuration, aggregating average, min, and max FPS and duration with zero sample-by-sample disk overhead.
  • Floating Assistive Bubble & Quick Menu: Provides an optional draggable floating on-screen bubble (FloatingToggleButton) that expands into a quick HUD menu to start/stop game FPS recording, toggle overlay visibility, and return to the app from inside any active game.
  • Quick Settings Panel Tile: Exposes an Android TileService (FpsTileService) that allows 1-tap toggling of the FPS overlay directly from the notification pull-down shade without opening the main app.
  • Auto On/Off Game Detection: An optional AccessibilityService (FpsAccessibilityService) monitors foreground window state changes to automatically activate the overlay when designated target games/apps launch and stop when exited.
  • Interaction & Dragging: Tracks touch gestures using an OnTouchListener to support real-time dragging. The updated layout coordinates are saved in SharedPreferences on gesture completion to persist the custom location.
  • Shizuku Integration: Provides privileged shell operations to grant overlay permissions without manual settings navigation, and to sample SurfaceFlinger compositor buffers for actual game FPS.

Download

Get it on GitHub    Get it on F-Droid    Get it on Telegram    Get it on ShizuStore

Note

Important Notes:

  1. The F-Droid build is signed with F-Droid's official keys instead of mine. If you want to switch to the F-Droid build, you must first uninstall your existing version from GitHub.
  2. Updates on F-Droid usually take longer to publish because of their build queue. You do not need to switch if you prefer faster updates directly from GitHub releases.

Visit the Official Website & Showcase to explore interactive features, test screenshots, and view full release changelogs. You can also navigate directly to the Releases page to download the latest APK, install via F-Droid, join the Telegram Channel (@fpsmeterandroid) for instant release APK updates, or install and receive automated updates via ShizuStore. For troubleshooting installation issues (Google Play Protect) or Android 13+ permission restrictions, check out the Troubleshooting and Setup Guide.

Screenshots

Application Interface

Meter & Telemetry SurfaceFlinger & Shizuku Games & Auto-Recording Performance History Logs
Meter & Telemetry SurfaceFlinger & Shizuku Games & Auto-Recording Performance History Logs
Auto-Record All Games Toggle Confirmation Notice Dialog
Auto-Record All Games Confirmation Notice Dialog

Overlay Styles

Overlay Style Setting MSI Afterburner Style (RTSS) Telemetry Overlay
Overlay Style Setting MSI Afterburner Style (RTSS) Telemetry Overlay

In-Game Performance Testing

OpenGL ES [GL] Vulkan [VK]
OpenGL ES Test Vulkan Test

Tip

This app theme follows system colors (Material You Dynamic Color), so UI accents and theme colors will adapt to your device's active wallpaper and system palette.

Requirements

  • Android 8.0+ (API 26)
  • Overlay Permission (SYSTEM_ALERT_WINDOW)
  • Shizuku (optional, required for SurfaceFlinger real game FPS mode)

For details on known Android system behaviors and non-root hardware limitations, see Known Issues and Limitations.

Developer

Built by Romel (@rdevz-ph)

Privacy Policy

FPS Meter Android operates completely offline. It does not collect, monitor, or transmit any personal data. You can read the full policy at Privacy Policy.

Contributing

Contributions are always welcome. Check out our Contributing Guide to get started.

If you are interested in translating FPS Meter to your language, take a look at our Translation Guide and Template.

License

This project is licensed under the MIT License.

About

A high-performance, lightweight FPS monitoring tool for Android. This application provides real-time frame rate overlays inspired by Samsung Perf Z and MSI Afterburner Style (RTSS) telemetry, offering a clean monitoring experience for mobile gaming and performance testing.

Topics

Resources

Contributing

Stars

36 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Contributors

Languages