谷歌发布了 Chrome 114 版本中关于 WebGPU 的一些新的更新内容,让我们一起来看看这些新的改变都有哪些。
Chromium 的贡献者们加速了 WebGPU 在 GPUComputePassEncoder、GPURenderPassEncoder 以及 GPUCommandEncoder 方法的性能,这是通过降低从 V8 JavaScript 引擎生成的代码到 Blink 渲染引擎中的 C++ 处理器进行调用的开销实现的。更多详情可参见 chromium issue:1417558。
他们提供的一个微基准显示,JavaScript 的调用 CPU 时间从每 10K 次绘制约 0.5 ms 减少到约 0.3 ms,这是一个 40% 的改进。
对未配置画布调用 getCurrentTexture() 抛出 InvalidStateError
现在,在未配置的画布上调用 GPUCanvasContext
的 getCurrentTexture()
方法会抛出 InvalidStateError
,而不是 OperationError
,这是按照 WebGPU spec 进行的。更多详情可参见 chromium issue:1424461。
WGSL 更新
现在可以将 AbstractInt 的零填充向量写为 vec2()
,vec3()
和 vec4()
。更多详情可参见 tint issue:1892。例如:
vec2()
是vec2(0,0)
vec3()
是vec3(0,0,0)
vec4()
是vec4(0,0,0,0)
Dawn 更新
错误消息改进
对于无效对象的描述符标签不再被丢弃,这样你可以在错误消息中看到它们。更多详情可参见 dawn issue:1771【9†source】。
为 Node.js 添加缺失的 APIs
GPUAdapter::requestAdapterInfo()
和 GPUBuffer::getMapState()
方法现在已经为 Node.js 实现。更多详情可参见 dawn issue:1761。
以上就是 Chrome 114 版本中 WebGPU 的所有新功能。Google 显然在不断地推动 WebGPU 的发展,提供更多的工具和优化,以进一步提升开发者的使用体验。
谷饭原创编/译文章,作者:Luke,转载请注明出处来自谷饭,并加入本文链接: https://www.goofan.com/2023/06/google-chrome-114-update/。