Method & result interpretation
A low-load baseline for browser frame delivery
This tool measures the intervals between requestAnimationFrame callbacks with a simple animated marker rather than a texture stress workload. A short warm-up precedes sampling. Keep this tab visible and focused, choose a duration, and compare repeated runs under the same display and power settings.
The observed callback frequency often follows display refresh scheduling, but it is not a direct measurement of panel refresh, pixel response, input latency or GPU execution time. A 60 Hz display and a light workload may both result in callbacks around 16.7 ms apart; changing browser or power settings can change that rhythm.
Understand mean, median, P95 and P99 frame time
Mean frame time averages the recorded intervals. Median is the middle of the sorted sequence. P95 and P99 describe the upper tail: larger values mean some callbacks took longer to arrive. Percentiles use linear interpolation at index p × (n − 1) in the sorted samples, with p between zero and one.
For example, regular 16.7 ms callbacks produce a tight distribution near that interval. A few 50 ms gaps can raise P95 or P99 while leaving the median almost unchanged. These are illustrative timings, not expected results for a specific GPU. The chart helps locate changes over the sampling period.
Sample quality and interrupted runs
At least 30 valid frame intervals are required before the tool treats the sample set as sufficient. A short stop or an interruption is still labeled in the result, and the exported file retains the raw timing data and reason. More samples improve the description of this run; they do not turn it into a hardware certification.
When the document becomes hidden or the window loses focus, sampling stops and the run is marked as interrupted. Browsers may pause or throttle background callbacks, so those pauses must not be mistaken for a GPU stall. Return to this tab and start a new run to obtain a comparable baseline.
Compare the baseline with a texture workload
First repeat the low-load test, then run the homepage texture workload using unchanged browser, display, power mode and background applications. A difference describes how browser delivery changed under those conditions. It does not identify whether the CPU, GPU, compositor, driver or another application caused it.
JSON downloads are created locally and include sampling settings, completion state, timings and browser context. Review them before sharing. To investigate missing WebGL support, use the capability report; to inspect texture budgets, use the memory calculator. This timing test itself does not require WebGL.
Technical references
Continue your checks
GPU / WebGL report
Find out which graphics capabilities your browser exposes before running a workload.
A browser with WebGL enabled
Check graphics capabilitiesTexture memory calculator
Budget pixel data for textures without allocating large resources on your GPU.
Works without WebGL
Calculate texture memory