WebGPU 新功能's (Chrome 114)

François Beaufort
François Beaufort

將 JavaScript 最佳化

Chromium 貢獻者成功提高 GPUComputePassEncoderGPURenderPassEncoderGPUCommandEncoder 方法的 WebGPU 效能,因為透過 V8 JavaScript 引擎中產生的程式碼呼叫 Blink 轉譯引擎中的 C++ 處理常式可減輕負擔。請參閱問題 chromium:1417558

以下 microbenchmark 顯示 JavaScript 呼叫的 CPU 作業時間,從每 10, 000 次繪製大約 0.5 毫秒減少為每 1 萬張 0.3 毫秒,可提升 40%。

Chrome 瀏覽器基準圖表的螢幕截圖,顯示呼叫快速改善項目。
Chrome 基準圖表顯示呼叫快速改善措施 (資料來源)。

未設定的畫布上 getCurrentTexture() 擲回 InvalidStateError

現在根據 WebGPU 規格,在未設定的畫布上呼叫 GPUCanvasContext getCurrentTexture() 方法時,系統會擲回 InvalidStateError 而非 OperationError。請參閱問題 chromium:1424461

const context = document.querySelector("canvas").getContext("webgpu");
context.getCurrentTexture(); // Throws InvalidStateError

WGSL 更新

AbstractInt 的零填滿向量現在能以 vec2()vec3()vec4() 編寫。請參閱問題 tint:1892。例如:

  • vec2()為「vec2(0,0)
  • vec3()為「vec3(0,0,0)
  • vec4()為「vec4(0,0,0,0)

日出最新消息

改善錯誤訊息

系統不會再捨棄無效物件的描述元標籤,因此您可以在錯誤訊息中查看。請參閱問題 dawn:1771

新增缺少的 Node.js API

現已針對 Node.js 實作 GPUAdapter::requestAdapterInfo()GPUBuffer::getMapState() 方法。請參閱問題 dawn:1761

WebGPU 新功能

WebGPU 最新消息系列中所有包含的清單。

Chrome 127

Chrome 126

Chrome 125

Chrome 124

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Chrome 113