How the test decides
Browsers don’t tell a page directly whether acceleration is on, so the test checks three signs, and any one of them is enough to call it off:
- The renderer. If WebGL reports SwiftShader, llvmpipe, lavapipe, softpipe or the Microsoft Basic Render Driver, a software renderer is drawing the page on the processor.
- The performance caveat. The page asks for a WebGL context with
failIfMajorPerformanceCaveat, an option the WebGL specification defines for this case: the browser refuses it when rendering would be much slower than native, which in practice means software rendering. Chrome, Edge and other Chromium browsers honour it, even when they hide the GPU’s name. Firefox has ignored it by default since version 86, because sites without a fallback broke (Mozilla bug 1678652), so in Firefox the test relies on the renderer name. - WebGPU’s fallback adapter. Where WebGPU exists, the adapter says whether it is a software fallback.
On means none of the signs appear and WebGL names a real GPU. Probably on means the name is hidden (a privacy setting) but the browser, which does report caveats, reports none. Can’t tell means Firefox with the name hidden: neither sign is available, so check about:support, where Graphics, Compositing reads “WebRender” with acceleration and “WebRender (Software)” without. Off: WebGL is blocked means the browser gives pages no WebGL at all, which usually comes from the same causes.
After you change the setting
Browsers only switch after a full restart, so close every window, reopen and load this page again. If it still reads off, open the browser’s GPU page (chrome://gpu or edge://gpu; about:support in Firefox): it lists which features are hardware accelerated and, when the GPU is blocklisted, the reason. On a laptop, also check that the browser isn’t set to the power-saving GPU in Windows Settings, System, Display, Graphics.