Free in every version
Measure FPS and 1% lows in every game session
Most optimizers show you a chart and ask you to believe it. LeanFPS measures FPS on your own PC while you play, then tells you whether this session was faster or smoother than your usual. If a tweak did not help, you will see that too.
What LeanFPS records when it measures FPS
For each session of a detected game, the app records four numbers. Live FPS, the average and the 1% low appear on the game card while you play; all four are saved to the session history on your PC.
Why measure FPS lows, not just the average
Average FPS hides stutter. A game that runs at 200 FPS but drops to 40 for a few frames every second feels worse than a steady 140. The 1% low captures those drops, so it is the number that best matches what you feel in a fight or a fast turn.
System tweaks rarely move the average much. When they help, it is usually by removing interruptions: a CPU core waking up, a background sync, a power-saving clock drop. Those show up in the lows first.
How we measure FPS without touching the game
Windows reports every frame a game hands to the display through Event Tracing for Windows (ETW). LeanFPS starts a tracing session only while a detected game runs, listens for the present events from DXGI and Direct3D 9 for that game’s process, and measures the time between them. That interval is what PresentMon reports as the time between presents.
Nothing is injected into the game and nothing is drawn on top of it. That matters for anti-cheat: overlays and hooks are what anti-cheat systems look for, and LeanFPS uses neither. It also means the measurement works in borderless and exclusive fullscreen alike.
Frame times are stored in a histogram with 0.1 millisecond buckets up to 250 milliseconds. Memory use stays fixed however long you play, and the lows are calculated from the full session rather than a sample.
How the result is checked
Every change to the app runs on a Windows virtual machine in our build pipeline. A test renders exactly 300 frames with Microsoft’s software renderer (WARP) and checks that LeanFPS counts 299 frame intervals for that process. The same pipeline checks that, with no window open, LeanFPS stays within its budget: under 2 ms per detection check and under 40 MB of memory.
Using your FPS numbers to choose tweaks
- Play a few normal sessions so LeanFPS knows your usual average and 1% low for that game.
- Turn a tweak or a preset on in the Windows gaming tweaks list.
- Play the same mode and map again. The session card shows the change against your usual.
- Keep what helps. Turn off what does not; every tweak can be undone on its own.
Measuring FPS works in the free version for every game. It pairs well with game profiles, which pick tweaks by genre, and it is the main reason we call LeanFPS a game optimizer that shows you the numbers.
Limits we are open about
- Some OpenGL and Vulkan games do not present through DXGI or Direct3D 9 and are not counted yet.
- The comparison is against your earlier sessions, not a controlled benchmark. Different maps or settings change the result.
- The measurement counts when the game submits a frame, not the exact moment it appears on screen.
Measure FPS FAQ
Do I need to run a benchmark to measure FPS?
No. LeanFPS measures FPS in the background every time you play a detected game. Sessions shorter than one minute are not saved, so menus and quick restarts do not skew your history.
Which games can LeanFPS measure FPS in?
Games that present frames through DXGI (Direct3D 10, 11 and 12) or Direct3D 9, which covers most Windows games. Some OpenGL and Vulkan games present frames another way and are not counted yet; the app says so instead of showing a wrong number.
Will measuring FPS lower my FPS?
The measurement reads frame events that Windows already produces. LeanFPS keeps a fixed-size histogram of frame times, so memory use does not grow during long sessions.
Is it the same data PresentMon uses?
It uses the same Windows event source PresentMon reads for its frame interval: present calls from DXGI and Direct3D 9. On our Windows test runner, LeanFPS counted 299 intervals for 300 rendered frames, which is exactly what it should count.
Is the FPS comparison a controlled A/B test?
Not yet. It compares a session with the average of your earlier sessions of the same game, so a different map or graphics setting will change the result. A one-click 60-second on/off benchmark is planned.
Measure FPS on your own PC
Free to use with no account. The first three games you play get every Pro tweak, so you can compare your own FPS before you decide.