WebGPU 總覽

François Beaufort
François Beaufort

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,FirefoxSafari 也正在進行相關作業。

程式庫支援

許多廣泛使用的 WebGL 程式庫都已開始實作 WebGPU 支援功能,甚至已經完成。這表示使用 WebGPU 可能只需要變更一行程式碼。

適用於 Chromium 的 Dawn 程式庫和適用於 Firefox 的 wgpu 程式庫皆可做為獨立套件使用。它們提供極佳的可攜性和符合人體工學的層,可抽象化作業系統 GPU API。在原生應用程式中使用這些程式庫,可透過 EmscriptenRust web-sys 更輕鬆地移植至 WASM

資源

WebGPU 是一項重要的技術,建議您參閱下列資源,進一步瞭解相關資訊: