Skip to main content

GPU Benchmark

Volume Shader Benchmark

Benchmark browser GPU performance using real-time volumetric ray-marching shaders. Measure genuine WebGL2 shader throughput, FPS, frame times, 1% lows, and jitter stability.

GPU BenchmarkVolume ShaderBrowser-Based
WebGL2 Volumetric PipelineProbing...

Detecting active hardware graphics context and shader compiler...

RENDERER--
VENDOR--
GLSLES 3.00
CAPABILITIES--
WEBGPUChecking…
FPS:-- FPS|FT:--ms|Steps:-- Steps
GLSL 3.00 ES Ray Marcher

Volume Shader Benchmark Ready

Stress GPU compute cores, dynamic branching, and memory fillrate with procedural volumetric ray marching.

Progress:
0%
RAY STEPS:
VOLUME COMPLEXITY:
DENSITY MULTIPLIER:
LIGHTING COMPLEXITY:
RENDER SCALE:
DURATION:

What This Tool Actually Measures

Every metric — FPS, frame time, 1% low, jitter, stability, and the Volume Shader Score — is derived from real WebGL2 frames rendered on your GPU and timed withperformance.now(). Warm-up frames are excluded from the final result. Nothing on this page is simulated or fabricated.

Not Available In A Browser

Browser security sandboxes do not expose hardware sensors, so this benchmark cannot and does not reportGPU temperature, fan speed, core/memory clocks, VRAM usage, power draw, shader-core count, or the exact GPU model. Any tool claiming these values in-browser is estimating them. The GPU string above is whatever your browser chooses to expose (often masked as “ANGLE (…)”).

Thermal note: longer runs (30–60s) push sustained GPU load and may reveal thermal throttling as a downward drift in FPS and a rising 1% low. This is expected behaviour on laptops and mobile devices — it reflects your cooling solution, not a fault in the benchmark.

Real-Time Hardware Telemetry

CURRENT FPS
--
Real WebGL2
AVERAGE FPS
-- FPS
Mean frequency
1% LOW FPS
-- FPS
Stutter threshold
FRAME TIME
-- ms
16.67ms = 60 FPS
JITTER / STABILITY
-- ms (--%)
Pacing variance
RESOLUTION
-- × --
Canvas draw buffer
AVG FRAME TIME-- ms
RAY STEPS--
DURATION--s
TOTAL FRAMES--
FRAME DROPS (>25ms)--
GPU PIPELINEWebGL2 GLSL

Framerate (FPS) Over Time

Real-time GPU sampling frequency

-- FPS
0 FPSTarget: 60 FPS144+ FPS

Frame Time (ms) Latency

Discrete draw call computation time

-- ms
0 msTarget: < 16.6ms (60 FPS)50 ms

How Volume Shader Benchmark Works

Understanding the underlying mathematics of GPU ray marching, procedural 3D noise, and light scattering.

01TECH OVERVIEW

What is a Volume Shader?

A volume shader computes color and opacity for semi-transparent, three-dimensional spatial media such as clouds, smoke, nebula, and planetary atmospheres. Unlike surface polygon rendering, a volume shader evaluates matter density and light extinction across continuous 3D coordinate space.

02ALGORITHM

What is Volumetric Ray Marching?

Ray marching is a numerical sampling technique where a virtual camera ray advances forward incrementally through 3D space. At each step along the ray, the fragment shader computes procedural mathematical noise, accumulates light attenuation, and evaluates shadow absorption until the ray exits the bounding volume.

03GPU WORKLOAD

Why Ray Steps Multiply GPU Load

Standard surface rasterization evaluates a fragment shader once per on-screen pixel. In volumetric ray marching, every single screen pixel executes the shader loop dozens or hundreds of times (once per step). At 1080p with 128 steps, your GPU computes over 250 million 3D procedural noise samples per frame.

04FILLRATE

How Render Resolution Affects Performance

Render scale alters the internal canvas drawing buffer dimensions relative to screen pixels. At 1.0x, every hardware pixel casts an independent ray. Increasing render scale to 1.5x increases the total fragment ray count by 225%, directly exposing memory bandwidth and pixel fillrate bottlenecks.

05LIGHTING

Extinction & Shadow Marching

Realistic volumes require secondary ray marching. When a ray detects matter, it casts secondary rays toward the moving light source to calculate volumetric self-shadowing and Henyey-Greenstein forward phase scattering, multiplying ALU arithmetic complexity exponentially.

06CONSISTENCY

Why Browser Benchmarks Vary

WebGL2 execution is mediated by the browser's graphics translation layer (such as ANGLE on Windows translating OpenGL ES to DirectX 12/Vulkan). GPU architecture, shader core counts, driver revisions, and OS compositor throttling all influence measurable frame pacing.

What This Benchmark Measures

Key graphics processing subsystems evaluated during continuous volumetric ray marching.

Shader ALU Compute Power

Repeated evaluations of 3D trigonometric hash functions and multi-octave Fractional Brownian Motion (fBm) heavily stress the GPU's arithmetic logic units.

Dynamic Branching & Loop Pacing

Volumetric loops with early ray termination (transmittance < 0.015) stress the graphics hardware's warp/wavefront divergence management.

High-Resolution Fillrate Bandwidth

Every pixel performs multi-pass accumulation and compositing, stressing the GPU's L1/L2 cache and VRAM memory bandwidth.

Frame Pacing & 1% Low Stability

Reveals thermal throttling, driver stalls, or garbage collection hitches by monitoring frame-time jitter and 1% low framerate metrics.

Frequently Asked Questions

Everything you need to know about volumetric ray marching, shader workloads, and GPU testing.

Related Graphics & Hardware Tools

Explore our full suite of professional GPU and hardware benchmark utilities.