WebGL 2.0 Raymarching Engine Active

Volume Shader BM Benchmark

The definitive in-browser stress test for graphics hardware. Measure floating-point arithmetic capacity, fragment pipeline saturation, and sustained thermal resilience through heavy procedural raymarching.

Interactive 3D Volume Engine

Click below to compile the fragment raymarching shader and initiate real-time GPU compute analysis.

Current FPS: --
Frame Time: -- ms
Min / Max FPS: -- / --
Ray Steps: 128
Identified GPU: Detecting...
Graphics API: WebGL 2.0
Render Resolution: Ready to compute

What is the Volume Shader BM Benchmark?

The Volume Shader BM Benchmark is an established synthetic stress test engineered specifically to quantify raw floating-point arithmetic logic unit (ALU) throughput and fragment shader concurrency in modern graphics processors. Originally popularized in the graphics demoscene and WebGL experimentation hubs, the benchmark discards conventional polygonal rendering techniques in favor of real-time volumetric raymarching.

In traditional 3D rendering pipelines—such as standard video game engines—the vast majority of GPU performance is dictated by vertex transforms, triangle clipping, occlusion culling, and texture memory bandwidth (VRAM caching). In contrast, Volume Shader BM deliberately constructs a computational bottleneck inside the fragment processing units. Every pixel displayed on your monitor requires marching a 3D ray through virtual coordinates, evaluating dense 3D noise functions at continuous intervals, and calculating volumetric transmittance using physical light absorption formulas.

Key Architectural Advantage: Because the shader is completely procedural, it does not read from heavy pre-baked 2D or 3D textures. This eliminates memory bus congestion and isolates the GPU's pure mathematical calculating ability, thermal dissipation, and driver compiler efficiency.

The Mathematics of Volumetric Raymarching & Signed Distance Fields

Understanding how Volume Shader BM pushes GPUs requires examining the mathematical foundations of volumetric rendering. Unlike ray tracing—which calculates discrete ray-surface intersections against polygonal primitives—volumetric raymarching evaluates a continuous density field across empty space.

1. Camera Ray Generation

For each fragment on the screen, a normalized ray vector $\vec{R}_d$ is projected from the camera origin $\vec{R}_o$ through the viewport coordinate:

vec2 uv = (gl_FragCoord.xy - 0.5 * u_resolution.xy) / min(u_resolution.x, u_resolution.y);
vec3 ro = vec3(0.0, 0.0, -1.2);
vec3 rd = normalize(vec3(uv, 1.3));

2. Procedural 3D Noise Field Synthesis

Rather than sampling an externally loaded volume texture, the shader synthesizes an organic fluid nebula by computing multi-dimensional fractal hash interpolations directly in arithmetic registers:

float noise(in vec3 x) {
    vec3 i = floor(x);
    vec3 f = fract(x);
    f = f * f * (3.0 - 2.0 * f); // Hermite cubic curve interpolation
    return mix(mix(...), mix(...), f.z);
}

3. Light Extinction & The Beer-Lambert Law

As the ray marches through the virtual volume, it calculates light transmittance using numerical Riemann integration. According to the Beer-Lambert law, light intensity decays exponentially as it travels through an absorbing medium:

$$T = \exp\left(-\int \sigma_t(x) \, dx\right)$$

In our optimized WebGL fragment shader, this continuous integral is approximated discretely across 64, 128, 256, or 512 steps:

for (int i = 0; i < 512; i++) {
    if (float(i) >= u_steps || sum.a >= 0.98) break;
    vec3 pos = ro + t * rd;
    float den = map(pos);
    if (den > 0.01) {
        float density = clamp(den * 0.35, 0.0, 1.0);
        vec4 colStep = vec4(col, density);
        colStep.rgb *= colStep.a;
        sum += colStep * (1.0 - sum.a); // Front-to-back alpha blending
    }
    t += stepSize;
}

At an execution density of 512 steps at 1080p (1920×1080 = 2,073,600 pixels), the GPU is tasked with evaluating up to 1.06 billion ray steps per frame. At 60 frames per second, this demands over 63 billion procedural noise computations per second, presenting an extreme challenge for even flagship desktop GPUs.

How Different GPU Architectures Handle Volume Shader BM

Because Volume Shader BM is heavily bound by instruction-level parallelism (ILP) and arithmetic intensity, performance characteristics vary significantly across different microarchitectures:

Architecture Representative Hardware Strengths in Volume Raymarching Potential Bottlenecks
NVIDIA Ada Lovelace & Blackwell GeForce RTX 4070, 4080, 4090, 50-Series Massive FP32 ALU arrays, high shader clock frequencies (>2.6 GHz), and deep L2 caches maintain ultra-stable 1% low frame times. Power limit capping during sustained 512-step ultra workloads.
AMD RDNA 3 & RDNA 4 Radeon RX 7800 XT, 7900 XTX, RX 8000 Dual-issue stream processors excel at parallel floating-point mathematical instruction scheduling. Higher sensitivity to driver-level ANGLE Direct3D translation overhead.
Apple Silicon (M-Series) Apple M2, M3, M4 Pro / Max / Ultra Tile-Based Deferred Rendering (TBDR) keeps intermediate ray calculations entirely in ultra-fast on-chip tile memory, yielding exceptional power efficiency. Thermal throttling on fanless MacBook Air units during tests exceeding 30 seconds.
Intel Arc & Xe Graphics Intel Arc A770, Battlemage, Core Ultra iGPU Wide execution units (XVEs) handle scalar mathematical instructions with strong raw throughput. Browser WebGL driver overhead can occasionally cause frame pacing jitter.
Mobile SoCs (Adreno / Mali) Snapdragon 8 Gen 2/3/4, Dimensity 9300 Unified compute units can run 64-step workloads at full 60 or 120 FPS for quick bursts. Aggressive thermal throttling typically engages within 15–20 seconds under sustained load.

Benchmark Score Matrix & Performance Tier List

The official Volume Shader BM algorithm records average frame rate, minimum 1% frame times, and step complexity to calculate a normalized benchmark index:

Score = Math.round( Average_FPS × (Steps / 64) × 85 × Resolution_Scale )

Classification Tier BM Score Range Average FPS (128 Steps / Native) Hardware Profile
Tier 1: Godlike Enthusiast 12,000+ 144+ FPS Dedicated high-wattage desktop GPUs (RTX 4080/4090, RX 7900 XTX). Zero thermal throttling.
Tier 2: High-End Workstation 8,000 – 11,999 90 – 144 FPS Performance desktop cards (RTX 4070, RX 7800 XT) and flagship Apple Silicon (M3 Max).
Tier 3: Mainstream Gaming 4,500 – 7,999 55 – 90 FPS Mid-range desktop and laptop GPUs (RTX 3060/4060, RX 6600, Apple M2/M3 Pro).
Tier 4: Ultrabook & APU 2,000 – 4,499 30 – 55 FPS Modern integrated graphics (Radeon 780M, Intel Iris Xe, base Apple M1/M2 chips).
Tier 5: Legacy & Low-Power < 2,000 < 30 FPS Older integrated graphics (Intel UHD), entry-level tablets, and budget mobile hardware.

Standardized Testing Protocol for Repeatable Benchmarking

To achieve scientific repeatability and comparable scores across different machines, follow our recommended standardized testing conditions:

  1. Thermal Equilibrium: Ensure your machine is not thermal-throttling prior to starting. Allow your GPU and CPU to idle at normal ambient room temperature (20°C–24°C) for at least 3 minutes before testing.
  2. Power Profile: On laptops, verify that the AC power adapter is connected and the operating system power plan is set to "Best Performance" or "High Performance". Battery-saving profiles intentionally throttle GPU core clocks.
  3. Eliminate Background Interference: Close streaming applications, hardware-accelerated video tabs (such as YouTube 4K), and secondary 3D software (Blender, Unreal Engine, active games) to ensure dedicated GPU allocation.
  4. Default Benchmark Standard: The reference baseline for cross-device comparisons is Heavy (128 Steps) at 1.0x Scale for 20 Seconds.

Browser Optimization & ANGLE Backend Tuning

Because WebGL sits atop the browser's graphics rendering compositor, system and browser configurations can have a profound impact on benchmark results.

Uncapping Frame Rates in Chromium Browsers

By default, Google Chrome, Microsoft Edge, Brave, and Opera sync WebGL presentations with your operating system's desktop refresh rate. If you are using a 60Hz display, your benchmark will never exceed 60 FPS regardless of your GPU's power. To fully evaluate unrestricted performance:

Launch Chrome from your command prompt or terminal with the frame rate limit disabled:

# Windows (Run dialog):
chrome.exe --disable-gpu-vsync --disable-frame-rate-limit

# macOS (Terminal):
open -a "Google Chrome" --args --disable-gpu-vsync --disable-frame-rate-limit

Switching the ANGLE Graphics Backend

On Windows, Chrome communicates with your GPU via the ANGLE abstraction layer. Depending on your GPU vendor, switching the backend API can yield noticeable performance improvements:

  • Type chrome://flags into your address bar and press Enter.
  • Search for "Choose ANGLE graphics backend".
  • D3D11: Most stable baseline for NVIDIA and older Intel hardware.
  • D3D11on12 / D3D12: Can deliver improved multi-threaded command recording on Windows 11 with modern AMD and Intel Arc graphics.
  • Vulkan: Ideal for Linux workstations and modern Android smartphones.

Diagnosing Performance Bottlenecks & Frame Drops

If your Volume Shader BM benchmark score is lower than expected for your hardware tier, review these common troubleshooting checks:

Dual-GPU Selection

Laptops with dual GPUs may default your browser to low-power integrated graphics. Assign your browser to High Performance in Windows Graphics Settings.

Thermal Throttling

If FPS starts high (e.g., 90 FPS) and drops drastically after 10 seconds, your device's cooling solution is failing to dissipate heat under sustained ALU load.

Outdated Drivers

Older graphics drivers often lack WebGL shader compiler optimizations. Update your graphics driver to the latest Game Ready or Studio release.

Frequently Asked Questions

Is the Volume Shader BM Benchmark safe to run on my machine?

Yes, completely safe. The benchmark executes strictly within the security-sandboxed WebGL context provided by your browser. It cannot modify voltages, bypass hardware firmware protections, or execute arbitrary native binary instructions. Modern GPUs incorporate automatic hardware-level thermal safeguards that safely throttle clock speeds if high temperatures are reached.

Why do raymarching volume shaders stress GPUs more than regular 3D games?

Traditional video games rely heavily on rasterizing static 3D meshes using triangular polygons, where lighting is often baked or computed only at surface boundaries. Volume Shader BM renders a continuous volumetric fluid field, requiring the GPU to execute complex 3D noise equations dozens to hundreds of times for every individual pixel on screen. This generates an intense computational load that saturates arithmetic pipelines.

Can I benchmark my iPhone, iPad, or Android phone?

Yes. Volume Shader BM is fully responsive and supports mobile WebGL 2.0 implementations across iOS Safari, Google Chrome for Android, and mobile Firefox. Mobile chips with high-performance integrated GPUs (such as Apple A17/M-series and Qualcomm Snapdragon 8-series) can achieve strong results on 64 and 128-step tests.

What does the "1% Low FPS" metric signify?

While Average FPS reflects overall throughput, 1% Low FPS highlights the frame rate during the slowest 1% of frames during the test cycle. This metric is vital for detecting micro-stuttering, background driver interrupts, garbage collection pauses, and brief thermal throttling spikes.

Why does my discrete graphics card appear with "ANGLE" in the hardware string?

Google Chromium browsers use the ANGLE (Almost Native Graphics Layer Engine) translation layer to map WebGL commands into native platform graphics APIs (such as DirectX on Windows or Metal on macOS). Your physical GPU model (e.g., NVIDIA GeForce RTX or AMD Radeon) will usually be listed alongside the ANGLE prefix.

Does screen resolution alter the benchmark score?

Yes. Raymarching workload scales directly with pixel count. Running the test on a 4K monitor (3840×2160 = 8.29 million pixels) requires four times more mathematical calculations per frame than 1080p (1920×1080 = 2.07 million pixels). Our benchmark formula normalizes this via the Resolution Scale factor to allow fair comparisons.