WebGL 2.0 Raymarching Benchmark

Volume Shader BM TEST

A browser benchmark that raymarches a mathematically defined 3D scene with WebGL 2.0.
Apply a controlled fragment-shader workload locally, with no installation required.

Waiting for Command

Rendering engine is ready. Please select a test mode from the right panel to start real-time rendering.

FPS
0
Time
0s
Warning: Current frame rate is too low, recommend lowering test level
-- x --
Load: 5.0x
Real-time Performance hover for details
0 FPS
Test Config
Mode Standby
Rendering engine WebGL 2.0
Steps 1002x
Status
READY

Rendering engine

WebGL 2.0 is the default current engine. WebGL 1.0 preserves the original benchmark algorithm; compare results only within the same engine.

Select Test Mode

Hardware Environment

GPU Renderer
Detecting...
System
--
Browser
--

Public benchmark data

Historical reviewed browser GPU results

The benchmark runs locally by default. Published rows include device, browser, mode and stability context.

Archive notice: these rows used the legacy WebGL 1.0 engine and are not comparable with the current WebGL 2.0 benchmark. New rows require a controlled retest.

DeviceModeEngineFPSScore
MacBook Air 13 M1
Apple M1 7-core GPU
MediumWebGL 1.0 (legacy)5215,600
MacBook Air 13 M2
Apple M2 8-core GPU
MediumWebGL 1.0 (legacy)6118,300
Intel UHD 620 laptop
Intel UHD Graphics 620
LightWebGL 1.0 (legacy)424,200
Desktop RTX 3060
NVIDIA GeForce RTX 3060
HeavyWebGL 1.0 (legacy)7437,074
Desktop RTX 4070
NVIDIA GeForce RTX 4070
HeavyWebGL 1.0 (legacy)11256,112

Changelog

Maintained benchmark methodology
2026-07-28

Migrated the benchmark engine to WebGL 2.0.

Introduced a separately maintained SDF scene and labeled all historical WebGL 1.0 rows as a non-comparable archive.

2026-07-08

Added public methodology, device reports and reviewed result tables.

Pages now separate local benchmark execution from opt-in public data and explain score limits.

2026-06-24

Published first methodology article.

Documented test modes, FPS interpretation and privacy boundaries.

2025-12-03

Initial browser raymarching benchmark launch.

Released the original legacy engine with Light, Medium, Heavy and Extreme modes.

Reading your FPS result

A quick guide to what the number means before you compare it with friends.

60+ FPS

This workload is rendering smoothly under the current conditions.

30–60 FPS

This workload is running at a moderate interactive frame rate.

15–30 FPS

Heavy load — switch to Light or Medium mode for a fairer reading.

< 15 FPS

This mode is below a comfortable interactive frame rate. The FPS alone does not identify the cause.

These bands describe only this workload. Compare the same engine, mode, resolution and browser conditions.

Tips for phones & tablets

  • Plug the device into power before starting a long run.
  • Close background apps and disable low-power / battery saver.
  • Run Light or Medium mode first, then step up to Heavy.
  • Give the device a minute to cool down between runs.

Tips for Chrome / Edge / Safari

  • Enable hardware acceleration in your browser settings.
  • On Chrome / Edge open chrome://gpu to confirm WebGL 2 is using your GPU.
  • On laptops, force the dedicated GPU instead of integrated graphics.
  • Close other heavy tabs — a video on another tab can starve the benchmark.

How this test compares

TestRuns in browserFocusInstall required
Volume Shader BM TestYesGPU raymarching, shader ALU stressNo
WebGL AquariumYesLightweight scene, polygon throughputNo
3DMarkNoComprehensive native benchmarkYes

Technical Principles

Volume Shader BM uses WebGL raymarching: WebGL 2.0 is the default current engine, while an optional WebGL 1.0 engine preserves the original benchmark algorithm. Unlike traditional polygon-based game benchmarks, both paths run a heavy Raymarching workload.

  • Volume Rendering: We do not use any 3D model files. All pixels on the screen are calculated in real-time through mathematical formulas (SDF signed distance fields).
  • Shader Load: The test runs in the fragment shader. Heavy mode allows up to 1002 ray steps per pixel, with early exit when the ray reaches the scene or leaves the test volume.
  • Real Stress: This isolates one browser WebGL fragment-shader workload. It does not measure AI inference, scientific computing, game performance, or the GPU's overall theoretical peak.

Frequently Asked Questions (FAQ)

Why does my device heat up severely during testing?

Heavy modes keep the fragment shader busy and can increase power use and heat. Actual GPU utilization varies by device, browser, resolution, and thermal limits. Stop the test if the device becomes unusually hot or unstable.

What does the test score mean?

The score is average FPS × normalized workload (ray steps and solver accuracy) × 100. Test duration is not part of the formula. Compare only results from the same engine version, mode, resolution, and browser conditions.

Why does the screen look laggy (low FPS)?

If your frame rate is below 15 FPS, it means the current test mode (such as Extreme) exceeds your GPU's load capacity. It is recommended to try Light or Medium mode.

Will my data be uploaded?

By default, no. Rendering and calculations happen in your local browser. Public result rows require a separate opt-in submission or editorial review.