Table of Contents
A volume shader benchmark is a graphics test that renders a three-dimensional volume — smoke, clouds, fog, a glowing medium — by shooting a ray through it for every pixel on screen and stepping along that ray many times to accumulate colour and density. It is one of the heaviest, most math-dense workloads you can hand a GPU, which is precisely why it makes such a revealing benchmark. Because the workload is fixed and repeatable, the time your hardware takes to render it becomes a fair, comparable measure of raw shading throughput. This guide explains what the benchmark is, how ray-marching creates the load, what a resulting score actually represents, and where it differs from a stress test.
From surfaces to volumes
Most real-time graphics draw surfaces. A game character or a car is a shell of triangles, and the GPU colours the thin skin the camera can see. That approach is fast because the work stops at the surface.
A volume is different. Smoke, a cloud, a candle flame, or a scan of the human body has no single surface — it has interior. Light passes into it, scatters, is partly absorbed, and emerges changed. To render that convincingly you cannot just colour a shell; you have to account for what happens through the material. Volume rendering does exactly that, and the technique it uses is called ray-marching.
How ray-marching creates the workload
For every pixel on screen, a volume shader casts a ray from the camera into the scene and then walks it forward in small increments — hence “marching.” At each step it samples the volume’s density at that point, works out how much light is absorbed or emitted there, and blends the contribution into a running total. After enough steps the ray has accumulated a final colour for that pixel.
The cost comes from multiplication stacking on multiplication. Consider what one frame demands:
- One ray per pixel, so the ray count scales with resolution.
- Many steps per ray — often dozens or hundreds — each with its own sampling and lighting math.
- All of it recomputed every single frame, because nothing is cached between frames in a live render.
Multiply pixels by steps by per-step math and you get a workload that can easily run into the billions of operations per frame. That density is what makes ray-marching a natural benchmark: it keeps the GPU’s arithmetic units saturated rather than waiting on memory or geometry, so the frame time reflects real compute throughput. It is the same per-pixel principle behind any shader performance test, pushed to an extreme.
What the benchmark actually measures
Running inside WebGL, a volume shader benchmark renders this fixed scene and times it with the browser’s high-resolution animation clock. From that timing it produces honest, reproducible numbers:
- Frame time — milliseconds per frame, the primary signal of how hard the GPU is working.
- Frames per second — the reciprocal of frame time, capped by your display’s refresh rate through vsync.
- 1% lows — the slowest 1% of frames, which expose stutters the average hides.
- Consistency — how tightly frame times cluster, which is what “smooth” really means.
Equally important is what it does not and cannot report. A web page has no access to your GPU’s temperature, its utilisation percentage, its VRAM capacity or usage, or its power draw; those sensors live behind system drivers that browsers are not allowed to touch. A “workload level” you might set in the tool is the configured complexity — how many steps, what resolution — not a measured utilisation figure. Any tool that shows a live GPU temperature in the browser is guessing. What is real is the timing, and timing is what a benchmark needs.
What a “score” represents
When a volume shader benchmark reports a score, it is expressing throughput under a fixed workload: given the same scene, the same step count, and the same resolution, how much frame did your GPU push through per unit of time. A faster GPU completes each frame in less time, so its score is higher. Because everyone runs the identical workload, the numbers are comparable in a way that a free-running game frame rate never is.
Two details make a score trustworthy. First, warm-up frames are excluded. GPUs raise their clocks when load arrives, and the opening moments of a run are slower than the sustained state; a good benchmark discards those frames so the score reflects steady performance rather than the cold-start dip. Second, the workload is held constant, so any change in score comes from the hardware and its conditions — driver version, power source, thermal state — rather than from a moving target.
A score is therefore best read as a relative figure. It is excellent for comparing your machine on battery versus AC power, before versus after a driver update, or against a run you saved last month. It is not a universal grade, because a browser benchmark still runs through WebGL and the browser’s scheduler, which add overhead that a native application would not.
Benchmark versus stress test
People often use these terms interchangeably, but they answer different questions.
A benchmark measures throughput under a fixed, repeatable workload for a defined run, then reports a comparable result. The goal is a fair number. A GPU benchmark run online works the same way: identical work in, comparable timing out.
A stress test applies a sustained, deliberately punishing load for a long time to see whether the system stays stable, how it paces frames over minutes, and how it behaves as it heats up and begins to throttle. The goal is stability and endurance, not a single score.
A volume shader benchmark can serve both purposes depending on how you run it: a short, warmed-up run gives you a comparable score, while leaving it running for many minutes turns it into a stress test that reveals throttling through a slowly rising frame time. It is worth knowing which one you are doing before you draw conclusions.
Running it responsibly
A volume shader benchmark places a genuinely heavy, sustained load on your GPU, so treat it with a little care. On a laptop, run on AC power and on a hard, flat surface so the fans can move air freely — soft surfaces block the vents and cause the GPU to throttle sooner. Phones and tablets have no active cooling and will throttle quickly, so mobile results are a snapshot, not a sustained rating. Keep an eye on the device while it runs, and if it becomes uncomfortably hot, the image glitches, or the tab crashes, stop the test. You never need to push hardware into a worrying state to get a useful reading.
Frequently asked questions
Is a volume shader benchmark a real GPU test or just a graphics demo?
It is a real test. The ray-marched scene is a fixed, heavy workload, and the tool times how long your GPU takes to render it using the browser’s animation clock. Those frame-time and FPS numbers are genuine measurements of shading throughput — the visual is just what that workload happens to look like.
What makes a good score in a volume shader benchmark?
Lower frame time and higher, more consistent FPS mean better performance, but there is no universal “good” number because results depend on resolution, step count, browser, and hardware. Read the score relatively — compare it against another run on the same settings rather than against a stranger’s machine on unknown settings.
Why is ray-marching so much heavier than normal 3D rendering?
Normal rendering colours surfaces once. Ray-marching walks a ray through a volume in many small steps per pixel, doing sampling and lighting math at every step, every frame. Multiplying pixels by steps by per-step math produces an enormous operation count, which is exactly why it stresses the GPU’s compute units so effectively.
Can the benchmark tell me my GPU temperature or VRAM usage?
No. Browsers cannot read temperature, utilisation, VRAM, or power draw — those require system-level access a web page does not have. The benchmark measures timing only. You can infer throttling from frame time rising during a long run, but the actual temperature is invisible to the browser.
How is this different from the volume shader test?
The benchmark is about the number — a comparable score under a fixed workload. If you want to understand the mechanism behind it, the volume shader test guide walks through how ray-marched 3D rendering actually works step by step. They are companions: one measures, the other explains.
A volume shader benchmark turns one of the GPU’s toughest workloads into a clean, comparable number, which makes it a great way to gauge shading throughput and spot throttling. When you want to see how your hardware handles it, run the volume shader benchmark with the device well-cooled — and try the interactive volume shader test if you would rather watch the rendering happen and learn how it works.
Test every key directly in your browser
Detect stuck keys, key chatter, input latency, and full rollover with our instant, zero-download diagnostic tool.
Start Keyboard Test →