Back to blog
June 2, 2026GPUtest.org3 min read

How to Compare Volume Shader Runs Without Misreading FPS

Compare the editable WebGL volume demo with fixed shader code, camera and viewport, and record the conditions behind each FPS result.

Volume Shader BMVolume ShaderGPU BenchmarkShader Throughput

The volume shader benchmark draws a procedural scene with a WebGL shader. Its value is repeatable observation of that scene on your browser. It does not report a standardized card score, TFLOPS, physical memory bandwidth, or hardware temperatures.

Freeze the workload before comparing

A volume shader can perform many calculations for each output pixel. Both the code and the number of pixels therefore matter. Save the shader source used for a run. Fix the browser version, viewport size, zoom, camera position, and power mode. An edited shader or a moved camera can alter the calculation enough to invalidate a comparison.

Open the guide and select Start test. The interactive controls rotate, pan, and zoom the view, and the editor can replace the shader code. Do not change these during a comparison sample. If modified code fails to compile, restore the original before testing the browser again; a compile failure is not evidence of a defective GPU.

Make a small comparison log

Allow a brief warm-up, then observe three runs under matching conditions. Write down all readings instead of retaining the fastest. Use a record like this:

Date and browser version:
OS and power mode:
Viewport and browser zoom:
Renderer string, if exposed:
Shader source or saved revision:
Camera settings:
Observation duration:
FPS readings from runs 1, 2, and 3:

This is a recording template, not a set of measured results. The renderer string may be hidden by browser privacy settings and does not establish which physical adapter executed every frame.

Interpret an FPS ceiling

The animation loop uses browser scheduling. A result near a display's refresh rate may be capped by that scheduling while the device still has spare capacity. Conversely, lowering the window size often reduces per-pixel shader work. An FPS increase after that change shows the workload changed; it is not a score suitable for comparison with the original window.

If results decline over successive runs, check competing applications and power settings. Confirm any temperature or clock change with a separate monitor before calling the decline thermal throttling.

Use the result for a specific question

A useful conclusion is: “this unchanged shader delivered more frames after the browser update under the recorded conditions.” A claim that an overclock is safe in every game goes beyond the test. Follow a browser comparison with the application you actually use.

See testing methodology and requestAnimationFrame documentation for the timing limitations.