WebGPU 新功能's (Chrome 114)

François Beaufort
François Beaufort

最佳化 JavaScript

Chromium 貢獻者減少了從 V8 JavaScript 引擎產生的程式碼呼叫 Blink 算繪引擎中 C++ 處理常式的負擔,進而提升 GPUComputePassEncoderGPURenderPassEncoderGPUCommandEncoder 方法的 WebGPU 效能。請參閱問題 chromium:1417558

以下微基準測試顯示,JavaScript 呼叫的 CPU 時間從每 1 萬次繪製約 0.5 毫秒,減少至每 1 萬次繪製約 0.3 毫秒,提升了 40%。

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

未設定畫布時,getCurrentTexture() 會擲回 InvalidStateError

根據 WebGPU 規格,在未設定的畫布上呼叫 GPUCanvasContext getCurrentTexture() 方法時,現在會擲回 InvalidStateError,而不是 OperationError。請參閱 issue 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 140

Chrome 139

Chrome 138

Chrome 137

Chrome 136

Chrome 135

Chrome 134

Chrome 133

Chrome 132

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