GPU Testing

GPU Benchmark

One unified suite covering 3D rendering, shader performance, VRAM & texture, particle systems, and volume shader raymarching — run them individually or all at once for an overall GPU score.

GPU Benchmark

Five GPU stress tests in one suite: 3D rendering, shader performance, VRAM & texture, particle system, and volume shader raymarching. Run any test on its own, or run the whole suite for an overall score.

Time remaining: --:--
Configure your test on the left, then click "Start test."
FPS
--
Frame time
--
Resolution
--
Stability
--
Draw calls
--
Triangles
--
GPU rendererDetecting…
GPU vendor--
Browser--
Screen resolution--
--
Run the test to see your score
This is a WebGL browser test, not a full hardware diagnostic — it can't measure GPU temperature and results vary by browser, driver, and other open tabs/apps. Aim for 60+ FPS for smooth gaming; stability above 95% indicates consistent frame delivery without stuttering.
Time remaining: --:--
Configure your test on the left, then click "Start test."
FPS
--
Frame time
--
Shader complexity
--
Stability
--
Processing time
--
Pixels/second
--
GPU rendererDetecting…
GPU vendor--
Browser--
Screen resolution--
--
Run the test to see your score
This test is particularly demanding since every pixel on screen runs the full shader program every frame. Lower FPS than the other tests is normal and expected — focus on stability and consistency rather than raw FPS numbers.
Texture size auto-escalates during the test
Current: --
Filter: --
Time remaining: --:--
Click "Start test." Texture resolution and filtering mode will automatically ramp up as the test progresses.
FPS
--
Frame time
--
Texture memory
--
Stability
--
Sampling rate
--
Fill rate
--
GPU rendererDetecting…
GPU vendor--
Browser--
Screen resolution--
--
Run the test to see your score
If FPS drops sharply as texture size increases partway through the test, that's a sign you may be approaching your GPU's VRAM capacity or memory bandwidth limit. Texture memory shown is calculated from resolution and format, not read directly from your hardware — browsers don't expose real VRAM usage to JavaScript.
Time remaining: --:--
Configure your test on the left, then click "Start test."
FPS
--
Frame time
--
Particles rendered
--
Stability
--
Physics updates/s
--
Memory usage
--
GPU rendererDetecting…
GPU vendor--
Browser--
Screen resolution--
--
Run the test to see your score
Particle physics runs on the CPU per-frame while rendering runs on the GPU, so this test reflects both. "Complex" collisions use a spatial grid for nearby-particle checks (true all-pairs collision at these counts isn't feasible in a browser); "Extreme" adds particle-to-particle attraction forces. Memory usage is an estimate from buffer sizes, not a real GPU/RAM readout — browsers don't expose that to JavaScript.
Mandelbulb benchmark
Time remaining: --:--
Configure your test on the left, then click "Start test." This is the heaviest test in the suite — low FPS on phones and integrated graphics is expected.
FPS
--
Frame time
--
GPU processing
--
Pixels/second
--
Resolution
--
Quality level
--
GPU rendererDetecting…
GPU vendor--
Browser--
Screen resolution--
--
Run the test to see your score
This is the most demanding test in the suite — every pixel raymarches through a 3D Mandelbulb fractal every frame, which is heavily compute-bound. Low FPS is expected and normal on integrated graphics, older GPUs, and most phones — it's a compute ceiling test, not a diagnostic fault.

Unified benchmark report

--
Run at least one module to see your report
Avg FPS (all runs)
--
Min FPS
--
Max FPS
--
Total duration
--
3D Rendering
Shader
VRAM & Texture
Particle System
Volume Shader
Each module keeps its own detailed score and export buttons above. The unified report aggregates results from every module you've run in this session — run "Complete benchmark" for a full 5-test pass, or run modules individually and switch tabs between them.
Rendering API: Detecting…
3D Rendering
Elapsed: 00:00
Stress Mode continuously cycles through all five GPU workloads to keep a sustained, demanding load on the GPU. Choose a duration and click "Start Stress Test."
Stability has dropped below 70% — frame delivery is inconsistent. The test keeps running; this is informational only.
Current FPS
--
Average FPS
--
Minimum FPS
--
Maximum FPS
--
Frame time
--
Elapsed time
00:00
Estimated GPU load
--
Frames rendered
--
Dropped frames
--
Stability
--
--
Run a stress test to see your report
Test duration
--
Avg FPS
--
Min FPS
--
Max FPS
--
Avg frame time
--
Frames rendered
--
Dropped frames
--
Stability
--
Stress Mode continuously renders demanding graphics workloads to evaluate browser-based GPU stability and rendering consistency. Results are useful for comparing browser graphics performance but do not replace dedicated native desktop GPU stress-testing software.

About this tool

One unified GPU benchmark combining all five stress tests from the GPU Testing suite: animated 3D mesh rendering, a custom GLSL fbm-noise fragment shader, an escalating texture-size and filtering test, a CPU-physics-driven particle system, and a raymarched Mandelbulb fractal shader. Switch between modules with the tab selector, run any test on its own, or click "Run complete benchmark" to sequence through all five automatically and get a single overall GPU score.

Each module keeps its original measurement logic untouched — FPS, frame time, stability, and module-specific metrics like draw calls, VRAM estimate, physics updates/second, or pixels/second are all computed exactly as in the standalone tools. Only one WebGL context is ever active at a time: switching modules or advancing through the full suite tears down the previous module's renderer before the next one starts, and the render loop stops scheduling frames whenever the browser tab is hidden.

Key features

  • Five GPU stress tests in one page: 3D rendering, shader performance, VRAM & texture, particle system, and volume shader raymarching
  • "Run complete benchmark" auto-sequences all five modules and reports an aggregated overall score
  • Individual Start/Stop per module, plus a Reset control to clear the unified report
  • Unified report: overall score, average/min/max FPS across all runs, total duration, per-module score bars, and an overall rating
  • Only one WebGL renderer active at a time — modules tear down cleanly on switch to avoid context leaks

Why use it

  • Get one overall GPU score instead of running five separate pages
  • Compare relative strengths across rendering, shading, texture bandwidth, and physics-heavy workloads in one report
  • Faster before/after comparisons after a driver update or hardware change

Why gpu testing testing matters

A GPU that runs cool and stable in a game menu can still throttle, artifact, or crash under sustained load. Browser-based stress tests are a fast first check: if a tab-based WebGL workload already causes stutter, driver crashes, or visual corruption, that's a strong signal worth following up with a full diagnostic tool before you trust the card under heavier load.

Tips for accurate results

  • Close other GPU-heavy tabs and applications before running a test — background compositing can skew results.
  • Watch for visual artifacts (flickering polygons, texture corruption, screen tearing) as much as the raw frame rate — they often show up before a full crash.
  • Run the same test twice in a row; a big drop on the second run can indicate thermal throttling.
  • If a laptop, make sure it's on a hard, ventilated surface and not defaulting to the integrated GPU.

Frequently asked questions

Is this as accurate as 3DMark or FurMark?

No. Browser WebGL benchmarks are useful for quick relative comparisons and stability checks, but native benchmarking tools access the GPU more directly and are more rigorous for serious performance analysis.

My score seems low for my GPU tier.

Browser tabs are subject to OS-level throttling, background processes, and driver overhead that native apps avoid. Compare against a baseline run on the same machine rather than published scores from other hardware.

Why does the "Run complete benchmark" switch tabs on its own?

Each module needs to be visible and mounted to its own canvas to render, so the suite automatically switches to whichever module is currently running and tears down the previous one's WebGL context first.