Display · browser observations
Refresh rate, FPS & frame pacing
How regularly does this browser receive animation callbacks? Observe its cadence and interval spread before a visual test or training run. A browser refresh-rate estimate is not a measurement of your panel's physical Hz.
Observe this browser
Keep this tab visible on the display you want to check. This is a light, 10-second observation — not a GPU stress test or a game-FPS benchmark. No flashing pattern or fullscreen is needed.
Ready. Nothing is sampled until you start.
Elapsed: — / 10 s · 0 callbacks · 0 positive intervals · interval span: 0.00 s
Cadence
- Median-based cadence
- Unknown
- Average callback FPS
- Unknown
- Timestamp detail
- Not sampled
Frequency estimates need at least 30 positive intervals spanning 1 second, with no repeated/invalid timestamps or whole-ms-only interval steps.
Raw callback intervals
- Median
- —
- 5th / 95th percentile
- — / —
- Longest captured
- —
- Long intervals
- —
Long means strictly >1.75× this sample's median. It counts intervals, not skipped panel frames. All positive intervals, including ≥250 ms stalls, are included.
Interval distribution & sample accounting
Repeated timestamps: 0. Invalid/backward timestamps: 0. These cannot form positive intervals and are not silently converted to a frequency. The first callback only sets a baseline; invalid timestamps reset it.
If the table needs more room, focus its area and use Left/Right arrow keys to scroll.
| Interval | Count | Share |
|---|---|---|
| <4 ms | 0 | — |
| 4–<8 ms | 0 | — |
| 8–<12 ms | 0 | — |
| 12–<20 ms | 0 | — |
| 20–<34 ms | 0 | — |
| 34–<50 ms | 0 | — |
| 50–<100 ms | 0 | — |
| 100–<250 ms | 0 | — |
| ≥250 ms | 0 | — |
A browser callback is not a measured photon or a guaranteed presented frame. Physical panel Hz, frame skipping, pixel response and input lag are not measured here. Tool samples stay in memory; there is no result upload or ranking.
What is being measured?
After you press Start, we record consecutive requestAnimationFrame callback timestamps for up to 10 seconds. The first callback sets a baseline. Every positive, finite interval is kept, including intervals of 250 ms or longer. There is no synthetic 60 Hz fallback, monitor-model lookup or background stress workload.
- Median-based cadence: 1000 divided by the median positive interval, in observed Hz. It describes a typical callback interval, not the physical panel.
- Average callback FPS: positive interval count divided by their total span in seconds. Long intervals lower this average. Callbacks are not guaranteed presented frames, and this is not game FPS.
- Interval spread: median, 5th and 95th percentiles and maximum across all captured positive intervals. Percentiles use linear interpolation at (count − 1) × percentile; they are not accuracy bands.
- Long intervals: intervals strictly greater than 1.75 times this sample's median. The percentage uses all positive intervals as its denominator. This is a descriptive threshold, not a hardware pass/fail or a count of physical frame skips.
When the result is unknown
We withhold frequency estimates until at least 30 positive intervals span one second. Repeated timestamps, invalid or backward readings, and whole-millisecond-only interval steps leave cadence coarse or unresolved. Whole-ms steps can also come from a genuinely regular cadence: this conservative check cannot tell them apart. Fine-looking timestamps are still not calibrated clock accuracy.
Stop or Escape retains a partial observation. Hiding or leaving the page ends sampling and marks cadence unknown; it never resumes automatically. A watchdog stops after a callback gap of at least 1.5 seconds. If the returning callback is captured first, its long interval stays in the distribution; otherwise the watchdog gap is reported separately, not invented as an extra frame interval. A 12,000-interval memory limit also stops rather than overwriting history.
What can change these numbers?
Browser scheduling, power-saving modes, window placement, other tabs, extensions, OS settings and variable refresh can all affect callback pacing. Keep this page visible on the display you want to check and repeat after changing only one setting. A stable low cadence on a high-refresh panel is a reason to inspect your setup, not proof of which layer is responsible.
This utility cannot certify physical refresh rate, detect panel frame skipping, measure pixel response time or isolate input lag. It does not observe when photons leave the panel. Those claims require an appropriate external camera or optical measurement setup with its own validation. Screenshots and automated browser fixtures do not supply that validation.
Method sources
MDN: requestAnimationFrame documents callbacks before repaint, their usual relationship to display refresh and background-tab pausing. MDN: Page Visibility API describes visibility changes. The duration, minimum sample, whole-ms check and long-interval threshold above are this tool's disclosed design choices, not browser or monitor certification standards.