Frame interval analyzer

Ready
Average frame time per second

Live test results

Current intervalms
Mean intervalms
Median intervalms
P95 intervalms
P99 intervalms
P99.9 intervalms
Worst intervalms
Jitter (median AD)ms

Reference budgets: 30 FPS 33.33 ms · 60 FPS 16.67 ms · 120 FPS 8.33 ms · 144 FPS 6.94 ms · 240 FPS 4.17 ms.

Ready

Millisecond timing analysis

Frame Time Test

Use the frame time test to inspect browser animation intervals directly in milliseconds. Percentiles, jitter, worst interval, and a live graph make uneven delivery visible without hiding it behind one FPS average.

What Is Frame Time?

Frame time is the interval between consecutive frames, usually expressed in milliseconds. FPS counts how many frames fit into one second; frame time shows the budget available to each update. The two are reciprocal: frame time = 1000 / FPS. Sixty FPS corresponds to about 16.67 ms, 120 FPS to 8.33 ms, and 240 FPS to 4.17 ms when cadence is perfectly even.

This online frame time test records timestamps supplied to browser animation callbacks. It displays the current interval, arithmetic mean, median, slow-side percentiles, worst interval, and robust jitter. The measurements apply to this document’s animation cadence. They are not GPU render latency, input latency, network latency, or native-game frame telemetry.

Frame Time vs FPS

FPS is intuitive for broad speed comparisons, but milliseconds reveal the magnitude of a delay. Moving from 120 to 100 FPS changes the ideal interval from 8.33 to 10 ms, a 1.67 ms difference. Moving from 60 to 40 FPS changes 16.67 to 25 ms, an 8.33 ms difference. Equal FPS changes therefore do not represent equal time changes.

For mathematically consistent averaging, FPS Tester calculates the mean of raw intervals and then converts it to average FPS. It does not average already-rounded instantaneous rates. When diagnosing a hitch, use the frame-time graph and P99 rather than relying on minimum FPS alone. The interval view preserves the actual waiting time.

How to Get Started

Put the browser on the display you want to test, select a Stress Level, and begin the frame time test. Wait for the warm-up and keep the page foregrounded until you select Stop Test. The live graph adds one averaged point per second, while percentile metrics preserve the slow-tail detail behind those plotted points.

  1. Run a 30-second baseline without deliberate interaction or background workload.
  2. Check median against the nearest common frame budget, then compare P95, P99, jitter, and worst interval.
  3. Repeat after one change and stop after approximately the same elapsed time; a flatter graph and tighter percentiles indicate more consistent browser cadence.

Why Frame-Time Spikes Matter

A timing spike is a frame interval substantially longer than the surrounding baseline. Even if the average remains close to target, a cluster of slow intervals can make motion hesitate. P95 is the value that roughly 95 percent of intervals meet or beat; P99 looks farther into the slow tail. P99.9 is only shown once at least 1,000 samples exist because extreme percentiles are misleading on tiny data sets.

Worst frame time records one maximum and is therefore sensitive to accidental interruptions. Jitter uses median absolute deviation, so it describes typical inconsistency without letting one maximum dominate. A complete reading asks whether P99 separates from the median, whether jitter remains elevated, and whether the same graph pattern appears across repeat tests.

Common Frame-Time Targets

The chart note lists theoretical budgets for 30, 60, 120, 144, and 240 FPS. These are reference lines in concept, not pass thresholds. Browser animation frequently follows display cadence, so a 60 Hz screen naturally produces intervals near 16.67 ms. A 144 Hz mode approaches 6.94 ms. Small variations around those values can result from timestamp precision and scheduling.

A faster budget leaves less time for application work before the next update opportunity. That does not mean every page benefits equally from the highest possible cadence, nor that stable 60 Hz behavior is defective. Match interpretation to the active display and task. For conversion at other rates, use the FPS-to-MS calculator and its common-value table.

How to Read a Frame-Time Graph

Time moves left to right, while taller positions represent longer intervals. A narrow horizontal band indicates regular cadence. Single peaks are isolated long callbacks; repeated peaks may show a periodic task; a thick noisy band suggests continuous timing variation. The graph draws recent samples at a limited resolution, while numerical metrics use the retained valid set, so the chart stays responsive during longer runs.

Canvas size follows its CSS box and uses a capped device-pixel-ratio backing store for clarity without excessive memory. Drawing is batched rather than coupled to every frame. The chart is visual support, not the only representation: labeled statistics summarize it for users who cannot rely on color or fine graphical detail.

Common Causes and Limitations

Browser frame time can be affected by scripting, layout, painting, compositing, decoding, garbage collection, extensions, background software, thermal state, and power management. A window spanning two displays may follow an unexpected cadence. Hidden documents are throttled, so this tool stops when hidden and warms up again on the next start instead of treating the gap as a frame.

The frame interval test cannot directly measure a game, physical monitor response, end-to-end input delay, or exact GPU render duration. It cannot determine which subsystem caused a spike. Use browser profiling when diagnosing a page you control and native presentation tools for a game. Results are best treated as reproducible observations under a named setup, not a universal hardware score.