CS2 Performance Analyzer — FPS, 1% Lows & Frame-Time Comparison
Free browser-based CS2 frame-time CSV analyzer. Measure average FPS, 1% lows, P99 frame time, spikes and compare two benchmark runs without uploading data.
Average FPS hides the slowest frames. Import real frame-time samples from a compatible CSV export to examine pacing, unusually long frames and differences between controlled runs. Your measurements stay in the browser and are never uploaded by this tool.
See the frames behind the FPS.
Choose a per-frame CSV capture from PresentMon or a compatible exporter. Compare a baseline and one changed setting without uploading your files.
Baseline run
No file selected.
After change
No file selected.
What file can I import?
Export a per-frame CSV from PresentMon, or from a benchmark utility with a clearly labeled FrameTime (ms), FrameTime (us), or per-frame FPS column. PresentMon fields MsBetweenPresents and MsBetweenDisplayChange are recognized, but represent different intervals. An average-FPS summary is not a per-frame capture. Avoid recording unrelated apps.
Minimal valid CSV example and interpretation
TimeInSeconds,FrameTime (ms) 0.008,8.0 0.016,8.1 0.024,7.9 ...
At least 30 valid frame rows are required. Each row represents a measured interval. The demo uses fictional data, not a recorded game session.
Your measured frame delivery
Frame-time envelope by relative capture progress; each horizontal position shows a min/max range, retaining narrow spikes. Plots are clipped at the displayed scale; compare numerical metrics for full values. Runs are normalized to their own duration.
Frame-time distribution
Percentage of frames in each interval bucket, normalized by run length. The last bucket includes slower intervals beyond the displayed range.
What should you test next?
Send only calculated frame-time summary metrics to the guided diagnostic. Raw samples, file names and notes never leave this page. Use the symptom and network readings to choose a reversible test.
Mean FPS is frame count divided by total interval duration. The displayed 1% low is the reciprocal of the mean slowest 1% of frame intervals, not simply 1000 ÷ P99. Tools may use different 1% low definitions. No data can identify a failing component on its own.
Privacy & limitations
Your CSV is read by JavaScript on this device. This tool has no upload endpoint, no account and no third-party analytics. The optional report is downloaded only when you ask for it. The website host still receives ordinary HTTP requests for the page and its static assets; see our privacy notice.
Frame timing is not ping, packet loss or an end-to-end input latency measurement. For network symptoms also use the telemetry interpreter. See Valve’s own telemetry explanation.
How to compare two CS2 benchmark runs
- Record a consistent scene or repeatable test using a tool that exports per-frame timings, such as PresentMon. Capture the correct Counter-Strike process and avoid idle menus when comparing gameplay.
- Save a baseline CSV, make just one change (for example a setting), then record a second run under as close to identical conditions as possible.
- Import both captures above. Verify the measurement column, units and frame count. The graph aligns runs by relative progress, not by absolute event timing.
- Review average FPS, mean-of-slowest-1% FPS and P99 frame time. Use a longer capture or multiple runs when results vary.
- Download a report documenting the scenario, assumptions and summary results. You can keep the original captures locally to repeat the analysis.
What does 1% low FPS mean?
FragClinic calculates it as 1,000 divided by the mean interval of the slowest 1% of frames. For comparison, P99 frame time is the 99th percentile of observed frame intervals. These are different statistics, and some benchmark utilities label different calculation methods as “1% low”. Verify the definition before comparing results across programs.
What this tool cannot tell you
These measurements do not identify a defective GPU, overloaded CPU, bad driver, jitter or network packet loss. A single before/after comparison also cannot prove causation. Change only one condition at a time and repeat the test. For network problems see the CS2 telemetry interpreter; for the basic FPS-to-ms relationship see the frame-time calculator.
Documentation: PresentMon CSV reference · Valve’s Source 2 Telemetry HUD. Independent, unofficial resource; not endorsed by Valve.