Chrome 发布 WebGPU,你们都知道了吗?

开发 前端
WebGPU 是一种新的 Web 图形 API,它具有显着的优势,例如大大减少相同图形的 JavaScript 工作量,以及机器学习模型推断的三倍以上的改进。WebGPU 的初始版本可以在 ChromeOS、macOS 和 Windows 上使用。对其他平台的支持将于今年晚些时候推出。

经过多年的开发,Chrome 团队发布了 WebGPU,它允许在 Web 上进行高性能 3D 图形和数据并行计算。WebGPU 现在默认在 Chrome 113 中可用,其目前处于 Beta 通道,并预计将于 4 月 26 日发布正式版。

图片

WebGPU 是一种新的 Web 图形 API,它具有显着的优势,例如大大减少相同图形的 JavaScript 工作量,以及机器学习模型推断的三倍以上的改进。WebGPU 的初始版本可以在 ChromeOS、macOS 和 Windows 上使用。对其他平台的支持将于今年晚些时候推出。

Web 网络图形的新曙光

WebGPU 是一种新的 Web API,它公开了现代硬件功能,并允许在 GPU 上进行渲染和计算操作,类似于 Direct3D 12、Metal 和 Vulkan。与 WebGL 系列 API 不同,WebGPU 提供了对更高级 GPU 功能的访问,并为 GPU 上的通用计算提供一流的支持。该 API 的设计考虑了 Web 平台,具有常用的 JavaScript API、与 Promise 的集成、对导入视频的支持以及带有大量错误消息的完善的开发人员体验。

WebGPU 的这个初始版本是未来更新和增强的构建块。API 将提供更高级的图形功能,并鼓励开发人员发送对其他功能的请求[1]。Chrome 团队还计划提供对着色器核心的更深入访问,以便在 WebGPU 着色语言 WGSL 中进行更多的机器学习优化和额外的人体工程学。

WebGPU 是 W3C 的“Web GPU”社区组织[2]协作努力的结果,其中包括来自 Mozilla、Apple、Intel 和 Microsoft 等主要公司的贡献。经过六年的发展(90 位贡献者,2000 次 commits,3000 个 issues[3]),从 2017 年的初始设计开始,第一个实现现在可以在 Chrome 中使用,并正在支持 Firefox 和 Safari。

WebGPU 是 W3C 的“Web GPU”社区组协作努力的结果,其中包括来自 Mozilla、Apple、Intel 和 Microsoft 等主要公司的贡献。经过六年的发展(90 位贡献者,2000 次提交,3000 个问题),从 2017 年的初始设计开始,第一个实现现在可以在 Chrome 中使用,并正在支持 Firefox 和 Safari。

Chromium 的 Dawn[4] 库和 Firefox 的 wgpu[5] 库都可以作为独立包使用,它们提供了出色的可移植性和人体工程学层,可以抽象操作系统 GPU API。在原生应用中使用这些库还可以更轻松地通过 Emscripten[6] 和 Rust web-sys[7] 移植到 WASM[8]。

浏览器支持

WebGPU 的初始版本可在支持 Vulkan 的 ChromeOS 设备、支持 Direct3D 12 的 Windows 设备和 macOS 的 Chrome 113 中使用。Linux、Android 和对现有平台的扩展支持即将推出。

除了在 Chrome 中的初步实现之外,目前在 Firefox 和 Safari 中正在开发 WebGPU。

库支持

许多广泛使用的 WebGL 库已经在实施 WebGPU 支持的过程中或已经这样做了。这意味着使用 WebGPU 可能只需要进行一行更改:

  • Babylon.js[9] 已经完全支持 WebGPU,请参见演示[10]。
  • PlayCanvas[11] 宣布了最初的 WebGPU 支持。
  • TensorFlow.js[12] 支持大多数运算符的 WebGPU 优化版本。
  • Three.js[13] WebGPU 支持正在进行中,请参阅示例[14]。

相关资源

WebGPU 是一项重要的技术,推荐以下资源以了解更多信息:

  • 查看 WebGPU[15] 和 WGSL[16] 的 W3C 规范。
  • 使用示例[17]进行实验并浏览 WGSL[18]。
  • 查看 MDN 文档[19]。
  • 阅读官方解释[20]和最佳实践[21]。
  • 了解 GPU 计算[22]等。

参考:​​ https://developer.chrome.com/blog/webgpu-release/​​

相关资料

[1]发送对其他功能的请求: ​​https://github.com/gpuweb/gpuweb/issues​

[2]W3C 的“Web GPU”社区组织: ​​https://www.w3.org/community/gpu/​

[3]90 位贡献者,2000 次 commits,3000 个 issues: ​​https://github.com/gpuweb/gpuweb/graphs/contributors​

[4]Dawn: ​​https://dawn.googlesource.com/dawn​

[5]wgpu: ​​https://github.com/gfx-rs/wgpu​

[6]Emscripten: ​​https://emscripten.org/​

[7]Rust web-sys: ​​https://rustwasm.github.io/wasm-bindgen/web-sys/index.html​

[8]WASM: ​​https://webassembly.org/​

[9]Babylon.js: ​​https://babylonjs.com/​

[10]演示: ​​https://playground.babylonjs.com/#YX6IB8#73​

[11]PlayCanvas: ​​https://blog.playcanvas.com/initial-webgpu-support-lands-in-playcanvas-engine-1-62/​

[12]TensorFlow.js: ​​https://www.npmjs.com/package/@tensorflow/tfjs-backend-webgpu​

[13]Three.js: ​​https://threejs.org/​

[14]示例: ​​https://threejs.org/examples/?q=webgpu#webgpu_particles​

[15]WebGPU: ​​https://gpuweb.github.io/gpuweb/​

[16]WGSL: ​​https://gpuweb.github.io/gpuweb/wgsl/​

[17]示例: ​​https://webgpu.github.io/webgpu-samples/​

[18]浏览 WGSL: https://google.github.io/tour-of-wgsl/

[19]MDN 文档: ​​https://developer.mozilla.org/docs/Web/API/WebGPU_API​

[20]解释: ​​https://gpuweb.github.io/gpuweb/explainer/​

[21]最佳实践: ​​https://toji.dev/webgpu-best-practices/​

[22]GPU 计算: ​​https://developer.chrome.com/articles/gpu-compute/​

责任编辑:武晓燕 来源: 前端充电宝
相关推荐

2016-09-27 19:53:25

IOS 10苹果

2021-07-29 07:55:20

JavaScriptcatchthrow

2024-04-18 10:23:35

装饰器Python

2018-05-20 11:01:47

Siri语音助手手机

2024-10-31 08:36:32

2023-11-06 07:56:04

2022-11-28 14:27:17

插入意向锁age

2023-10-28 09:00:03

进程系统服务

2022-10-31 10:03:03

2022-02-21 09:00:08

数字签名验证

2020-06-14 15:15:42

JavaScript开发技术

2022-01-06 07:59:32

WebGPUOpenGL引擎

2022-04-01 08:48:45

JavaPythonRuby

2023-05-26 14:07:00

数据库分布式RAC

2015-08-03 09:54:51

网页设计趋势

2024-10-30 08:31:36

Next.js高效性能

2022-11-10 09:00:41

2023-03-10 18:20:07

客户端开源中间件

2018-12-10 08:47:22

程序员年终奖阿里巴巴

2023-05-26 07:55:06

分布式数据库SQL
点赞
收藏

51CTO技术栈公众号