WebGPU 浏览器支持
发布于
WebGPU — WebGPU 通过 navigator.gpu.requestAdapter()/requestDevice() 和 WGSL 着色语言,
向网页暴露 GPU 渲染与计算能力。
浏览器与生态支持
Section titled “浏览器与生态支持”- 图例
- 支持
- 部分支持
- 需开启标志
- 不支持
- 未知
| 浏览器 / 平台 | 支持 | 版本 | 置信度 | 来源 | 备注 |
|---|---|---|---|---|---|
| Chrome (Desktop) | 部分支持 | 113 → 144 | 高 | 来源 | 12 |
| Chrome (Android) | 支持 | 121 | 高 | 来源 | — |
| Edge (Desktop) | 部分支持 | 113 → 144 | 高 | 来源 | 345 |
| Firefox (Desktop) | 部分支持 | 141 | 高 | 来源 | 67891011 |
| Firefox (Android) | 不支持 | — | 高 | 来源 | 12 |
| Safari (macOS) | 支持 | 26 | 高 | 来源 | — |
| Safari (iOS) | 支持 | 26 | 高 | 来源 | 13 |
| Samsung Internet | 支持 | 25.0 | 高 | 来源 | 14 |
| WebView (Android) | 支持 | 121 | 高 | 来源 | 15 |
- 支持 ChromeOS、macOS、Windows 和 Linux(Linux 仅限 Intel Gen12 及以上 GPU)。
- 支持 ChromeOS、macOS 和 Windows。
- 支持 ChromeOS、macOS、Windows 和 Linux(Linux 仅限 Intel Gen12 及以上 GPU)。
- 支持 ChromeOS、macOS 和 Windows。
- 由 browser-compat-data 镜像自 Chrome 的数据推导。
- 支持除 Service Worker 之外的所有上下文。见 bug 1942431(https://bugzil.la/1942431)。
- 自 Firefox 141 起支持 Windows。见 bug 1972486(https://bugzil.la/1972486)。
- 自 Firefox 145 起支持 Apple 芯片上的 macOS Tahoe。见 bug 1992212(https://bugzil.la/1992212)。
- 自 Firefox 147 起支持 Apple 芯片上更早的 macOS 版本。见 bug 1993341(https://bugzil.la/1993341)。
- 不支持 Intel CPU 上的 macOS。见 bug 2004105(https://bugzil.la/2004105)。
- 不支持 Linux。见 bug 2006676(https://bugzil.la/2006676)。
- browser-compat-data 未记录 Firefox for Android 的支持。
- 由 browser-compat-data 镜像自 Safari 的数据推导。
- 由 browser-compat-data 镜像自 Chrome Android 的数据推导。
- 由 browser-compat-data 镜像自 Chrome Android 的数据推导。
在发起任何 GPU 工作之前,先请求适配器,再从该适配器请求设备:
async function getGpuDevice() { const adapter = await navigator.gpu.requestAdapter(); if (!adapter) { throw new Error('没有可用的 WebGPU 适配器。'); } return adapter.requestDevice();}如何在运行时检测
Section titled “如何在运行时检测”在请求适配器之前先检测 navigator.gpu 是否存在,并在 API 缺失或无法取得适配器这两种
情况下都提供回退:
async function initGpu() { if (!('gpu' in navigator)) { showFallbackRenderer(); return; } try { await getGpuDevice(); } catch { showFallbackRenderer(); }}- 即使
navigator.gpu存在,requestAdapter()也可能返回null——用户代理可以拒绝返回适配器,调用requestDevice()前应先检查返回值。 - Chrome for Android 自 Chrome 121 起支持 WebGPU——请查看上方支持表,而不要假设该版本上的所有设备都支持。
- Firefox 自 Firefox 141 起在 Windows 上默认启用 WebGPU;其他平台的支持情况不同——使用前请先查看上方针对具体系统的支持表。
- Safari 自 Safari 26 起默认启用 WebGPU;更早版本不支持。
完整参考见 WebGPU: GPU rendering and compute in the browser.
另见 WebCodecs API。
← 返回兼容性浏览器。