GPU raster. One fixed scene, timed to the last frame.
A lit 3D model rendered at a fixed resolution, measuring how fast your graphics chip draws it and whether that speed holds.
Illustrative frame rates. Not a measurement.
Scene
glTF model, HDR lighting
Resolution
Fixed 1600 × 900
Duration
50 s, or 3 × 30 s deep
Reports
FPS, stability, decay
Same scene, same pixels, every card.
Every machine draws the identical workload, so the figure is how quickly your card finishes it, not how much load something decided to give it.
A fixed 1600 by 900
The model renders at an internal resolution of 1600 by 900 with a device pixel ratio of 1, whatever the window size, and the result is scaled to fit the screen.
One camera path
The camera follows the same path on every machine and repeats every ten seconds, so each ten-second period is the same work as the one before it.
Timed to completion
Every frame ends on a GPU sync point, so a frame time is how long the GPU took to finish the frame, not how long the browser took to queue it. Where the browser exposes a GPU timer query, GPU-side time is recorded as well.
Warm-up left out
The first 3 seconds are excluded, which covers shader compilation and driver warm-up. A hidden tab pauses the stage and its clock, and the hidden time is reported.
Frame rate, pacing, and how far it falls.
Speed and smoothness are different things, and a single average hides the difference. The stage reports both, and how much of its opening speed the card kept.
Frames per second
The median of the best five one-second windows at 1600 by 900; the sustained figure is frames counted over active time. If frame times sit at the timer's resolution or exactly at the display's refresh interval, the report marks the figure as a lower bound.
Stability
The share of one-second windows within 85% of the median window. A card that is fast on average but stutters scores lower than its frame rate alone would suggest.
Decay
Whole ten-second camera periods from the start of the stage compared with the last ones, so like is compared with like. A drop smaller than two and a half times the run's own noise reports as 0%.
What the VRAM badge is
The pressure label shown during the stage is computed from frame time only. It is a load label, not a memory reading. No browser API exposes video memory.
Illustrative frame rates. Not a measurement.
Hardware
What it needs. Three tiers, no fine print.
Minimum
Any GPU with WebGL2
Completes the stage. The figures are still a measurement of that card, even when they are low.
Recommended
Recent integrated or entry dedicated
Enough headroom that stability and decay describe the card rather than the limits of the timer.
Optimal
Any modern dedicated GPU
May outrun the display refresh or the timer. The report then marks the frame rate as a lower bound, and stability and decay carry the result.
Questions
The GPU stage, answered
- Does this stage render soft shadows?
- No. It is a general raster workload: a 3D model with physically based materials, lit by an HDR environment map, at a fixed resolution. Soft shadows have their own separate test on the soft shadows page, which measures what real-time PCSS costs your card.
- Why a fixed resolution instead of adjusting to the card?
- An adaptive load makes every card look as if it hits the same frame time, which hides the difference you came to measure. With a fixed workload a faster card simply finishes more frames. Results from before measurement revision 2026.09.3 used an adaptive supersampling index and are not comparable.
- Is this test suitable for integrated graphics?
- Yes. The scene is moderate by design, so integrated graphics complete the stage and still produce a meaningful frame rate, stability and decay.
- Why is my frame rate marked as a lower bound?
- When frames finish faster than the timer can resolve, or land exactly on the display's refresh interval, the true rate may be higher than measured. The report says so rather than presenting a capped number as your card's speed.