FPS and stats overlay
The frames your screen really showed, over the game.
Needs access Over the game In 2.0Available in 2.0. Install it from the Extensions tab.
The number comes from Android’s compositor, the part of the system that puts every frame on the screen. It counts what you saw, not what a game says it drew, so it can read lower than a counter inside the game and it never goes past the refresh rate of your display.
Next to it you can show the CPU clock, the battery temperature, the power the phone draws and your ping. You decide the shape, the colour, the size and the corner.
Try it
Highlights
Measured, not estimated
Frame timings come from the system compositor. One sampler serves the overlay, the recorder and the match report together, so three tools never measure the game three times.
Your look
A block with stats under the number or one line. A pill, a plain shade or no background. Six colours, 70 to 200% size, 30 to 100% opacity, any of the four corners, or drag it.
Colour by frame rate
Off by default. Green from 90% of the target, amber from 60%, red below. The target is the display’s own rate, or a number from 30 to 144 for a game that is capped lower.
Tap to capture
With the Benchmark installed, tap the number to start a capture of the match and tap again to end it.
Ping to your region
Pick a game region in Network and ping and the readout measures that region. Otherwise it pings 1.1.1.1.
Set it up
- Set up privileged access once: wireless debugging (built in), Shizuku or root.
- Open the Extensions tab, tap FPS and stats overlay and install it. Google Play downloads it in a few seconds.
- Open it and allow Display over other apps when Android asks.
- Pick a look. The live preview at the top shows exactly what will sit over the game.
- Turn on Show during game sessions, then start a game from Game Mode. Or pin it now to keep it on screen outside a session.
Using it
Reading the number
The average alone says little: a steady 90 feels smoother than 120 that keeps falling to 70. Watch for the dips and when they come. If they arrive after a few minutes, the phone is probably getting warm. The match report shows that over the whole match.
Moving and hiding it
Drag the readout anywhere. Picking a corner again puts it back. While it is pinned outside a session, the notification has a button to hide it.
When it shows dashes
“No privileged access” means the access backend is off, often after a restart. “No game in front” means nothing is drawing right now. Neither is a guess: the readout shows a number only when it measured one.
What it needs
| Permission or access | Why |
|---|---|
| Privileged access | Frame timings of another app are only readable through the shell. |
| Display over other apps | To draw the readout on top of the game. |
Limits
- The GPU clock is not offered: on most phones no app can read it.
- The CPU clock is left out on phones that don’t report it.
- It can never show more frames than the display refreshes.
Questions
Why is it lower than the counter inside my game?
A game counts the frames it drew. This counts the frames the screen showed. When the phone is busy, some drawn frames never reach the screen, and those are the ones you feel.
Does the overlay cost frames?
It reads timings the system keeps anyway, a few times a second, and draws one small window. The match report and the recorder share the same reading instead of adding their own.