BRUTAL Optimizer shows a real frame rate on the dashboard, the overlay and the Hardware Monitor — but only while a game or emulator is actually running. The rest of the time it shows a dash and No game. That's intentional, and it's part of the product's honesty: there is no truthful "system FPS" on an idle desktop, so the app refuses to invent one.
The counter reads the display present rate — how many frames per second are actually being pushed to your primary monitor — using a built-in Windows graphics interface (D3DKMT). It does this without injecting into the game, without ETW, and without a kernel driver, which is exactly what makes it anti-cheat-safe. Nothing is hooked into the game process.
Each second the counter diffs the display's cumulative present count; that difference is your FPS. The Hardware Monitor goes further, sampling the same source at high frequency to compute average frametime and 1% / 0.1% low frame rates.
The FPS reading is gated on game detection. The background Guardian service watches for running games and emulators; when it spots one, it passes that process to the FPS counter as a signal to start showing a number. With no game detected, the counter returns a special "no data" value and the UI shows a dash plus No game / no game detected.
So if FPS is blank, the first question is: has a game actually launched, and has Guardian detected it? Quick games, very new titles, or a stopped Guardian can all leave it on No game.
Because the counter measures the display's present rate, what it reports depends on how the game presents frames:
This is a genuine limitation of any hook-free, injection-free counter — the honest price of staying anti-cheat-safe. For exact per-window FPS you'd need a tool that hooks the game, which this app deliberately avoids. If you need a true number for a borderless game, run it in fullscreen-exclusive mode.
All three gate on the same Guardian detection, so they agree: if one shows No game, they all do.
The underlying display-query constants are reverse-engineered, so the team's guidance is to sanity-check the number against a known reference (for example, cap a fullscreen game at 60 or 144 fps and confirm the counter matches). In fullscreen-exclusive it tracks the real rate; the windowed behaviour above is expected, not a defect.
Why does the FPS counter only work when a game is running?
There's no truthful 'system FPS' on an idle desktop — the old number was just the app repainting itself. The counter is gated on game detection so it only ever shows a real frame rate during a game, and a dash with 'No game' otherwise.
My emulator runs at 120 FPS but BRUTAL shows 60 — why?
Most emulators run windowed or borderless, so Windows composites them at your monitor's refresh rate and the hook-free counter reads ~your Hz, not the emulator's internal render rate. This is a limitation of staying anti-cheat-safe. Use fullscreen-exclusive, or judge smoothness by the 1% lows in the Hardware Monitor.
Is the FPS counter safe to use online — could it trigger anti-cheat?
Yes, it's safe. It reads the display's present rate through a standard Windows interface with no game injection, no ETW provider and no kernel driver, so it doesn't touch the game process at all.