WebGPU 是一種網頁圖形 API,可提供許多重要優點,例如大幅減少相同圖形的 JavaScript 工作負載,以及改善機器學習模型推論的速度,提升幅度超過三倍。這是因為 GPU 程式設計具備彈性,且可存取 WebGL 未提供的進階功能。
這個 API 是以網路平台為設計考量,主要提供慣用的 JavaScript API、與承諾產品整合、支援匯入影片功能,以及提供更優質的開發人員體驗,並清楚顯示明確的錯誤訊息。
WebGPU 是 W3C「GPU for the Web」社群群組的合作成果,其中包括 Mozilla、Apple、Intel 和 Microsoft 等主要公司的貢獻。
瀏覽器支援
這個 WebGPU 的初始版本已在 Chrome 113 中推出,適用於支援 Vulkan 的 ChromeOS 裝置、支援 Direct3D 12 的 Windows 裝置,以及 macOS。我們即將針對現有平台推出 Linux、Android 和擴充支援。
除了 Chrome 最初的實作版本外,WebGPU 目前還在與 Firefox 和 Safari 相關的開發中運作。
圖書館支援
許多廣泛使用的 WebGL 程式庫都已開始實作 WebGPU 支援功能,甚至已經完成。這表示使用 WebGPU 可能只需要變更一行程式碼。
- Babylon.js 可以完整支援 WebGPU。
- PlayCanvas 宣布初始 WebGPU 支援功能。
- TensorFlow.js 支援大多數運算子的 WebGPU 最佳化版本。
- Three.js 的 WebGPU 支援功能正在開發中,請參閱範例。
適用於 Chromium 的 Dawn 程式庫和適用於 Firefox 的 wgpu 程式庫皆可做為獨立套件使用。這些 API 提供優異的可攜性和人體工學層,能將作業系統 GPU API 抽象化。在原生應用程式中使用這些程式庫,可透過 Emscripten 和 Rust web-sys 更輕鬆地移植至 WASM。
資源
WebGPU 是一項重要技術,建議您參閱下列資源,進一步瞭解這項技術: