Google宣布Chrome 113將開始預設支援網頁繪圖與計算API WebGPU,使得Chrome能夠高效能地處理3D圖形,並且執行資料平行運算任務。目前主要瀏覽器Firefox和Safari對WebGPU的支援都還在開發階段,Chrome則是率先提供初始實作。

過去要在不使用外掛程式的情況下,於瀏覽器中呈現互動式2D和3D圖形,便需要用到網頁繪圖 API WebGL,這是一個以OpenGL ES標準為基礎的JavaScript API。不過,WebGL存在許多缺點,因為WebGL受限於較舊的OpenGL ES設計,因此無法良好地發揮當前GPU的能力,而且也與部分硬體和驅動程式有相容性問題,令人詬病的還有API設計過於複雜,使得開發和維護工作難度增加,同時,WebGL還有一些安全性問題,其允許網站存取敏感GPU資源。

而WebGPU的出現便是要取代不敷使用的WebGL,WebGPU由Apple、Google、Mozilla和微軟等W3C成員所共同組成的GPU for the Web工作組開發,其目的是要建構一個可跨不同作業系統、硬體平臺的統一標準,讓開發者能夠更輕鬆地編寫網頁高效能圖形和運算程式。

WebGPU的角色與Direct3D 12、Metal和Vulkan等繪圖API相同,透過公開硬體功能供開發者在GPU上執行渲染和運算操作。WebGPU相較於WebGL有許多優點,除了效能大幅提升,對現代硬體支援更好之外,WebGPU API簡潔易用,之前在WebGL渲染物件,開發者需要替每一個物件配置一系列的狀態變更呼叫,光是渲染一個物件可能要呼叫超過10個函式,而在WebGPU卻只要兩行程式碼。

另外,WebGPU也能夠更好地支援一般運算,並且從設計根本考量網頁平臺的特性,除了提供慣用的JavaScript API之外,也支援匯入影片,並且提供大量有用的除錯訊息。目前這個WebGPU版本是一個基礎,工作組還將在API提供更進階的繪圖功能。

WebGPU從2017年開始發展,歷經6年集結90位貢獻者、2,000次提交和3,000個問題,現在第一個實作在Chrome上提供。開發者可以使用Chromium的Dawn函式庫,以及Firefox的wgpu函式庫來開發WebGPU程式,兩者都抽象作業系統GPU API,並提供良好的可移植性。

已經有一些函式庫開始支援WebGPU,過去支援WebGL的函式庫,要增加WebGPU的支援只需要稍經修改即可,目前Babylon.js、PlayCanvas和TensorFlow.js等函式庫都已經支援WebGPU。使用者已經可在支援Vulkan的ChromeOS裝置、支援Direct3D 12的Windows裝置,以及macOS裝置上的Chrome 113上用到WebGPU,Google提到,他們之後還會推出對Linux和Android平臺的支援。

熱門新聞

Advertisement