WebGPU 新功能's (Chrome 114)

François Beaufort
François Beaufort

最佳化 JavaScript

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

下列微型基準測試顯示,JavaScript 呼叫的 CPU 時間從每 10,000 次繪圖約 0.5 毫秒,降至每 10,000 次繪圖約 0.3 毫秒,改善幅度達 40%。

Chrome 瀏覽器基準測試圖表的螢幕截圖,顯示快速呼叫的改善情形。
Chrome 基準測試圖表,顯示快速呼叫的改善情形 (來源)。

在未設定的畫布上執行 getCurrentTexture() 會擲回 InvalidStateError

現在,在未設定的畫布上呼叫 GPUCanvasContext getCurrentTexture() 方法時,會根據 WebGPU 規格擲回 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

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

WebGPU 新功能

以下是「WebGPU 最新消息」系列文章中涵蓋的所有內容。

Chrome 131

Chrome 130

Chrome 129

Chrome 128

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