Skip to main content

WebGL 2 GPU kernel test

A fullscreen WebGL 2 draw runs a heavy fragment program per pixel. Change outer iterations and half versus single precision, then read FPS.

Rated 4.5 out of 5 based on 331 reviews

Your browser does not support the HTML canvas element.
Frame rate
--
FPS
Frame time
--
ms
Backend
--
Outer iterations
--
Inner ops / iter
--
Est. scalar ops / frame
--
Fragment precision
--
Framebuffer
--
Frame stability
--
%
Status
--

What this test measures

This page does not assume a compute-queue API. One fullscreen draw launches dependent math per pixel, which is close to a 2D dispatch for throughput. Use it as a microscope for iteration depth and precision, not as a volume shader.

  • Raise iterations until FPS halves, then compare half versus single precision.
  • Framebuffer size is in the metrics; a smaller buffer changes the work.
  • WebGL 2 is required. Older browsers will not start.

Graphics adapter

Renderer
-
Vendor
-

How to run the kernel test

  1. Confirm the page starts; you need WebGL 2.
  2. Leave precision on Single and raise iterations until FPS drops.
  3. Switch to Half and repeat the same iteration count.
  4. Note stability as well as average FPS.
  5. Open the multi-pass kernel test if you want a longer timed stack.

WebGL 2 kernel

Fragment-parallel numeric GPU test

BackendWebGL 2 fragment shader, not a separate compute API
What you measureFPS, estimated ops per frame, precision, and stability

What a kernel test is for

When you care about raw ALU instead of a pretty scene, a kernel test is clearer than a volume shader. You change loop count and float precision and watch frame pacing. Pair it with the multi-pass kernel test for a longer session, or with volume shader BM when you want a visual workload.

WebGL 2 and phones

This page needs WebGL 2. If it will not start, update the browser or open the entry volume shader test instead. On a phone, raise iterations slowly. Half precision is often faster on mobile GPUs; compare it to single precision at the same iteration count.

Kernel test questions

Why will this not start?
The page needs WebGL 2. Update the browser or try the entry volume shader test instead.
Is half precision always faster?
Often on mobile GPUs, not always on desktop. That is why both options exist. Compare them at the same iteration count.
Can I run it on Android or iPhone?
If the browser exposes WebGL 2, yes. Keep iterations low at first. Phones heat and throttle sooner than a desktop GPU.
Is this a volume shader BM test?
No. This is numeric fragment work. The timed volumetric scene is at /tests/vsbm/.