Chrome 提供 WebGPU

經過多年的開發,Chrome 團隊推出了 WebGPU,可在網頁上執行高效能 3D 圖形和資料平行運算。

François Beaufort
François Beaufort
Corentin Wallez
Corentin Wallez

Chrome 團隊很高興宣布,WebGPU 現已預設在 Chrome 113 中提供,目前位於 Beta 版管道。WebGPU 是新的網頁圖形 API,可提供許多重要優點,例如大幅減少相同圖形的 JavaScript 工作負載,以及改善機器學習模型推論的速度,效果是原來的三倍以上。這是因為 GPU 程式設計更具彈性,且可存取 WebGL 不提供的進階功能。

這個 WebGPU 初始版本適用於 ChromeOS、macOS 和 Windows。其他平台的支援功能將於今年稍晚推出。

網頁圖形的新紀元

WebGPU 是網頁的全新 API,可公開新式硬體功能,並允許在 GPU 上執行算繪和運算作業,類似於 Direct3D 12、Metal 和 Vulkan。與 WebGL 系列 API 不同,WebGPU 可讓您存取更先進的 GPU 功能,並為 GPU 上的一般運算提供一流支援。這個 API 的設計以網路平台為重點,提供慣用 JavaScript API、整合承諾、支援匯入影片,以及提供優質錯誤訊息的完善開發人員體驗。

這個 WebGPU 的初始版本可做為日後更新和強化功能的建構模塊。API 將提供更進階的圖形功能,開發人員可提出額外功能要求。Chrome 團隊也打算提供更深入的著色器核心存取權,以便在 WGSL (WebGPU 著色語言) 中進行更多機器學習最佳化和人體工學調整。

WebGPU 是 W3C「GPU for the Web」社群群組的合作成果,其中包括 Mozilla、Apple、Intel 和 Microsoft 等主要公司的貢獻。經過六年的開發 (90 位貢獻者、2000 次提交、3000 個問題),自 2017 年初始設計以來,第一個實作項目現已在 Chrome 中推出,並正在為 Firefox 和 Safari 提供支援。

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

瀏覽器支援

這個 WebGPU 的初始版本適用於 Chrome 113,並支援 Vulkan 的 ChromeOS 裝置、支援 Direct3D 12 的 Windows 裝置,以及 macOS。我們即將推出 Linux、Android 和現有平台的擴充支援功能。

除了在 Chrome 中初步實作 WebGPU,FirefoxSafari 也正在進行相關作業。

程式庫支援

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

資源

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

特別銘謝

在此特別感謝所有 Chromium 貢獻者,以及提供寶貴支援的 Intel 團隊。