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.
Note
Here is a high-level overview of how the application operates:
- FPS Calculation: Uses Android's
ChoreographerAPI to receive frame callbacks, measuring elapsed time to calculate real-time frames per second (FPS). Frame time (MS) is derived directly from this rate. - Thermal Monitoring: Registers a dynamic
BroadcastReceiverforIntent.ACTION_BATTERY_CHANGEDto read and display the current battery/device temperature in real time. - Overlay View: Starts a foreground service (
FpsOverlayService) that utilizes the Android WindowManager to draw a floating pill-shaped overlay using theSYSTEM_ALERT_WINDOWpermission. - Interaction & Dragging: Tracks touch gestures using an
OnTouchListenerto support real-time dragging. The updated layout coordinates are saved inSharedPreferenceson gesture completion to persist the custom location. - Shizuku Integration: Runs a shell command (
appops set <package> SYSTEM_ALERT_WINDOW allow) via a Shizuku process to auto-grant the overlay permission, removing the need for manual settings navigation.
Navigate to the Releases page to download the latest APK.
| Light Mode | Dark Mode |
|---|---|
![]() |
![]() |
The overlay utilizes a pill-shaped background with high-contrast, color-coded metrics for optimal visibility.
- Labels (FPS, MS, TEMP): Displayed in Cyan (#00E5FF).
- Values: Rendered in White for clarity.
- Dynamic FPS Color: The FPS value automatically changes color (Green, Yellow, Red) based on real-time performance thresholds.
The metrics are presented in a compact horizontal display using pipe separators (|). This design minimizes screen obstruction while providing essential performance data at a glance.
Quick-snap presets allow for instant positioning across six key screen locations:
- Top Left, Top Center, Top Right
- Bottom Left, Bottom Center, Bottom Right
- Manual dragging is fully supported for custom placement.
Configuration changes apply immediately to the active overlay. Adjustments to text size, opacity, color mode, and visibility do not require a service restart.
The setup process includes an optional Shizuku panel to auto-grant the "Display over other apps" permission, bypassing the need for manual navigation through system settings.
- Android 8.0+ (API 26)
- Overlay Permission (SYSTEM_ALERT_WINDOW)
Built by rdevz-ph GitHub Profile
This project is licensed under the MIT License.

