Chrome 搭载 WebGPU

经过多年的开发,Chrome 团队推出了 WebGPU,它可以在网络上实现高性能 3D 图形和数据并行计算。

François Beaufort
François Beaufort

Chrome 团队激动地宣布,Chrome 113(目前为 Beta 渠道)现已默认支持 WebGPU。WebGPU 是一种新的 Web 图形 API,具有显著的优势,例如大幅降低了相同图形的 JavaScript 工作负载,并将机器学习模型推断能力提高了三倍以上。之所以能够这么做,是因为 GPU 编程更加灵活,并且能够使用 WebGL 未提供的高级功能。

WebGPU 的这一初始版本适用于 ChromeOS、macOS 和 Windows。我们将于今年晚些时候支持其他平台。

网络图形迎来新的黎明

WebGPU 是一种新的 Web API,可提供现代硬件功能并允许在 GPU 上进行渲染和计算操作,类似于 Direct3D 12、Metal 和 Vulkan。与 WebGL 系列 API 不同,WebGPU 支持使用更高级的 GPU 功能,并为 GPU 上的常规计算提供了一流的支持。此 API 在设计时充分考虑了网络平台的需求,具有惯用的 JavaScript API、与 promise 集成、支持视频导入以及提供出色的错误消息并提供了完善的开发者体验。

WebGPU 的这一初始版本是未来的更新和增强功能的构建块。该 API 将提供更高级的图形功能,我们建议开发者发送其他功能的请求。Chrome 团队还计划支持更深入地访问着色器核心,以便在 WGSL(WebGPU 着色语言)中实现更多机器学习优化和更多人体工学设计。

WebGPU 是 W3C 的“GPU for the Web”社区小组多方协作的结果,该小组成员包括 Mozilla、Apple、Intel 和 Microsoft 等主要公司。经过六年的开发(90 位贡献者、2000 项提交、3,000 个问题),从 2017 年的初始设计开始,首个实现现已在 Chrome 中推出,并且正在开发对 Firefox 和 Safari 的支持。

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

浏览器支持

WebGPU 的这一初始版本适用于支持 Vulkan 的 ChromeOS 设备、支持 Direct3D 12 的 Windows 设备和 macOS 的 Chrome 113。我们即将针对 Linux、Android 和更多现有平台提供支持。

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

库支持

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

资源

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

致谢

感谢所有 Chromium 贡献者,特别是 Intel 员工为实现这一目标而提供的宝贵支持。