WebGPU 概览

François Beaufort
François Beaufort

WebGPU 是一种 Web 图形 API,具有显著的优势,例如可大幅减少相同图形的 JavaScript 工作负载,并将机器学习模型推断提升三倍以上。得益于灵活的 GPU 编程以及 WebGL 不提供的高级功能,这些都是可行的。

该 API 在设计时充分考虑了网络平台的需求,具有惯用的 JavaScript API、与 promise 集成、支持导入视频的功能,以及经过改进的开发者体验(包含清晰的错误消息)。

WebGPU 是 W3C 的“Web GPU”社区小组多方协作的结果,其中包括 Mozilla、Apple、Intel 和 Microsoft 等主要公司的贡献。

浏览器支持

WebGPU 的这一初始版本已在 Chrome 113 中推出,适用于支持 Vulkan 的 ChromeOS 设备、支持 Direct3D 12 的 Windows 设备和 macOS。我们即将支持 Linux、Android,并扩大对现有平台的支持。

除了在 Chrome 中的初始实现之外,FirefoxSafari 还在开发 WebGPU。

库支持

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

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

资源

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