S
ShizuPortal
ShizuStore

Unofficial ShizuStore Web Portal

This is an unofficial web portal for ShizuStore self-hosted by rdevz-ph. Visit the official portal at https://shizustore.com/.

FPS-Meter-Android

FPS-Meter-Android

v2.3
by rdevz-ph•Development utilities•MIT
Need ShizuStore app? Download APK

Screenshots

(12)

About Application

FPS Meter Icon

FPS Meter Android

API Kotlin License Version Downloads Website

A high-performance, lightweight FPS monitoring tool for Android. This application provides a real-time frame rate overlay inspired by the Samsung Perf Z aesthetic, offering a professional monitoring experience for mobile gaming and performance testing.

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

How It Works

[!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.
  • 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 and toggle overlay visibility 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 ShizuStore

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 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 & TelemetrySurfaceFlinger & ShizukuGames & Auto-RecordingPerformance History Logs
Meter & TelemetrySurfaceFlinger & ShizukuGames & Auto-RecordingPerformance History Logs
Auto-Record All Games ToggleConfirmation Notice Dialog
Auto-Record All GamesConfirmation Notice Dialog

In-Game Performance Testing

OpenGL ES [GL]Vulkan [VK]
OpenGL ES TestVulkan 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.

Features

  • Dual FPS Measurement Providers: Choose between lightweight Choreographer (vsync display rate) and privileged SurfaceFlinger (true game rendering frame rates hooked directly into compositor presentation buffers via Shizuku).
  • Automatic Graphics API Detection: Dynamically inspects the foreground game pipeline to display real-time Vulkan [VK] or OpenGL ES [GL] on-screen badges.
  • In-Memory FPS Recording & History Logs: Lightweight per-game session recorder capturing Average FPS, Peak FPS, Min FPS, and duration in memory without disk I/O lag or battery drain, paired with a dedicated History screen to review historical benchmarks.
  • Floating Assistive Quick Menu: An interactive on-screen bubble expanding into an in-game HUD menu to start/stop FPS recording and toggle HUD visibility without leaving your game, with outside-touch protection and auto-dismiss.
  • Direct Game Launcher & Auto-Start: Built-in Games screen with direct 1-tap game launching, search filters, and automated overlay start/stop upon entering or exiting designated games via Accessibility Service.
  • Hardware & Battery Telemetry: Live multi-sensor thermal monitoring across CPU, GPU, SoC, and Battery with independent metric toggles to track heat and thermal throttling, plus an on-screen Battery Percentage indicator. Automatically merges battery temperature and charge level into a compact unified readout (BAT <temp> (<level>)) when both metrics are enabled.
  • Samsung Perf Z HUD Styling: Compact semi-transparent pill overlay with cyan labels, white digits, dynamic green-yellow-orange-red FPS performance color coding, adjustable text size, opacity, and drag-and-drop repositioning.
  • Dark AMOLED Theme & Dedicated Settings: Pure pitch-black theme (#000000) tailored for OLED and AMOLED displays to maximize contrast and battery efficiency, paired with a full-page Settings screen for theme modes, Dynamic Colors, and developer links.
  • Multi-Language Support: Built-in English and Simplified Chinese (简体中文) localization with an in-app language switcher in Settings (#12).
  • Zero-Friction Setup: Optional Shizuku integration to auto-grant overlay permissions with 1 tap and a Quick Settings status bar tile for quick toggling from any screen.

Requirements

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

Developer

Built by rdevz-ph GitHub Profile

License

This project is licensed under the MIT License.

Release Notes & Changelog

FPS Meter Android v2.3

What's New in v2.3

  • Internationalization (i18n) & Simplified Chinese Localization: Extracted all user-facing strings into resource files and added comprehensive Simplified Chinese (values-zh) translations (#12). Special thanks to @CH-Hu-Bill.
  • In-App Language Switcher: Added a dedicated Language section to the Settings screen with options for System Default, English, and Simplified Chinese (简体中文). Changing the language dynamically applies to the application and background service contexts (attachBaseContext) immediately.
  • Text Overflow & Layout Fixes: Added single-line limits and ellipsis truncation across title bars and status labels, plus horizontal scrolling for session card chips in the History screen to prevent text clipping across languages.

For the complete release history, see CHANGELOG.md.

Features

  • Choice between Choreographer and SurfaceFlinger FPS measurement providers
  • Automatic Graphics API detection (Vulkan and OpenGL ES)
  • Samsung-style pill-shaped overlay with cyan labels and white values
  • Real-time FPS, frame time (MS), and multi-metric temperature monitoring (CPU, GPU, SoC, and Battery)
  • Adaptive single-line or two-line layout dynamically scaling with active metrics
  • Dynamic FPS color coding (green, yellow, orange, red) based on performance thresholds
  • In-memory per-game FPS session recording with dedicated History screen
  • Interactive floating assistive bubble with in-game quick control menu
  • Six preset positions (top/bottom left/center/right) with manual drag support
  • Light and dark mode themes
  • Multi-language support (English and Simplified Chinese) with in-app language switcher
  • Adjustable text size and overlay opacity
  • Optional Shizuku integration for one-tap permission grant, SurfaceFlinger game FPS, and hardware thermal monitoring
  • Quick Settings status bar tile and automated game detection via Accessibility Service

Requirements

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

Installation & Setup Guides

Download the APK from the assets below and enable the "Display over other apps" permission when prompted.

[!NOTE] Which APK should I download?

  • Release APK (FPS-Meter-*-release.apk) [Recommended]: Signed with the developer's official release key. Use this build if you want seamless in-place updates from GitHub in the future without needing to reinstall.
  • Debug APK (FPS-Meter-*-debug.apk): Signed with the default Android/Google SDK debug key generated by automated CI builds. Useful for quick testing, but switching to a release build in the future will require uninstalling first due to Android's signature verification.

If you encounter Play Protect installation blocks or Android 13+ restricted settings warnings when enabling features like Accessibility Service or Shizuku, follow the Troubleshooting and Setup Guide.

Declared Android Permissions

7 total

Shizuku API Permissions

moe.shizuku.api.permission.SHIZUKU
moe.shizuku.manager.permission.API_V23

This application connects to the Shizuku service to execute system-level operations with ADB elevated privileges.

Standard Android Permissions

SYSTEM_ALERT_WINDOW
FOREGROUND_SERVICE
FOREGROUND_SERVICE_SPECIAL_USE
POST_NOTIFICATIONS
com.rdevzph.fpsmeter.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

Specifications

Packagecom.rdevzph.fpsmeter
LicenseMIT
GitHub Stars26
Installs182
Target SDKAndroid 14+ (API 36)
Last UpdatedOctober 2, 2026
Release DateOctober 2, 2026
Root RequirementRootless (Shizuku)
ShizuStore Installation

Install via ShizuStore to enable automatic updates and silent installations using Shizuku.

More in Development utilities

Other applications in this category

View all (7)