WebGPU 概览

François Beaufort
François Beaufort

WebGPU 是一款 Web 图形 API,具有显著优势,例如可大幅减少相同图形的 JavaScript 工作负载,并将机器学习模型推理速度提高 3 倍以上。之所以能够实现这一点,是因为 GPU 编程非常灵活,并且可以访问 WebGL 不提供的高级功能。

该 API 专为 Web 平台而设计,具有符合惯例的 JavaScript API、与 Promise 的集成、支持导入视频,以及提供清晰错误消息的精致开发者体验。

WebGPU 是 W3C 的“适用于 Web 的 GPU”社区小组共同努力的成果,其中包括 Mozilla、Apple、Intel 和 Microsoft 等大公司的贡献。

浏览器支持

此初始版 WebGPU 已在 Chrome 113 中发布,适用于支持 Vulkan 的 ChromeOS 设备、支持 Direct3D 12 的 Windows 设备和 macOS。我们很快将支持 Linux 和 Android 平台,并扩大对现有平台的支持。

除了在 Chrome 中实现 WebGPU 之外,我们还在为 FirefoxSafari 开发 WebGPU。

库支持

许多广泛使用的 WebGL 库已经在实现 WebGPU 支持,或者已经实现了 WebGPU 支持。这意味着,使用 WebGPU 可能只需要进行一行更改。

适用于 Chromium 的 Dawn 库和适用于 Firefox 的 wgpu 库均可作为独立软件包提供。它们提供极高的可移植性和符合人体工学的层,可抽象化操作系统 GPU API。在原生应用中使用这些库有助于通过 EmscriptenRust web-sys 更轻松地移植到 WASM

资源

WebGPU 是一项重要的技术,我们建议您参阅以下资源以了解详情: