最佳化 JavaScript
Chromium 貢獻者成功提高 GPUComputePassEncoder
、GPURenderPassEncoder
和 GPUCommandEncoder
方法的 WebGPU 效能,因為透過 V8 JavaScript 引擎中產生的程式碼呼叫 Blink 轉譯引擎中的 C++ 處理常式可減輕負擔。請參閱 chromium 問題:1417558。
下列微型基準測試顯示,JavaScript 呼叫的 CPU 時間從每 10,000 次繪圖約 0.5 毫秒,降至每 10,000 次繪圖約 0.3 毫秒,改善幅度達 40%。
在未設定的畫布上執行 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
- WGSL 中的裁剪距離
- GPUCanvasContext getConfiguration()
- 單點和線基元不得包含深度偏誤
- 針對子群組的內建函式
- 實驗性支援多重繪製間接功能
- 著色器模組編譯選項嚴格數學
- 移除 GPUAdapter requestAdapterInfo()
- Dawn 更新
Chrome 130
Chrome 129
Chrome 128
Chrome 127
Chrome 126
Chrome 125
Chrome 124
Chrome 123
Chrome 122
Chrome 121
- 支援 Android 上的 WebGPU
- 在 Windows 上使用 DXC 而非 FXC 進行著色器編譯
- 在運算和算繪票證中為查詢加上時間戳記
- 著色器模組的預設進入點
- 支援使用顯示器-p3 做為 GPUExternalTexture 色彩空間
- 記憶體堆積資訊
- Dawn 更新
Chrome 120
Chrome 119
Chrome 118
Chrome 117
Chrome 116
- WebCodecs 整合
- GPUAdapter
requestDevice()
傳回的遺失裝置 - 如果呼叫
importExternalTexture()
,請保持影片播放流暢 - 規格相容性
- 改善開發人員體驗
- Dawn 更新