Chrome 113 aktivuje WebGPU, moderní grafické rozhraní API s nízkou režií pro web.

Chrome 113 aktivuje WebGPU, moderní grafické rozhraní API s nízkou režií pro web.

Google dnes oznámil, že povolí podporu WebGPU ve svém výchozím prohlížeči Chrome počínaje verzí 113, která je aktuálně ve verzi beta. WebGPU, ve vývoji od roku 2017, je nová generace grafického rozhraní API, jehož cílem je využít výhod rozhraní API s nízkou režií, jako jsou Microsoft Direct3D 12, Apple Metal a Vulkan ve webových prohlížečích a dalších aplikacích.

Podpora WebGPU je již nějakou dobu k dispozici, ale ve výchozím nastavení je v Chromu zakázána, protože rozhraní API nebylo dokončeno a z aktualizace na aktualizaci se může stát. Google říká, že Mozilla i Apple budou nakonec podporovat WebGPU ve Firefoxu a Safari a prohlížeče jako Microsoft Edge a Opera, které se spoléhají na prohlížeč Chromium, by to mohly umožnit, jako to udělal Google.

Chrome 113 nejprve podporuje WebGPU v systémech Windows, macOS a ChromeOS, zatímco „podpora dalších platforem“ jako Linux a Android „bude k dispozici později v tomto roce.“ Tato verze prohlížeče by měla být všem uživatelům Chrome k dispozici někdy v květnu.

Podpora v prohlížeči Chrome je velkým krokem vpřed pro jakýkoli nový standard, ať už se jedná o nové nebo aktualizované rozhraní API, formát obrázků nebo kodek videa. Podle StatCounter má Chrome sám o sobě zhruba dvě třetiny celosvětového tržního podílu prohlížečů a téměř 80 procent celkového tržního podílu prohlížečů, pokud počítáte další prohlížeče založené na Chromiu. Jakmile Safari a Firefox přidají podporu, prakticky všechny webové prohlížeče po celém světě budou moci spouštět kód WebGPU, takže stojí za to krátce vysvětlit, co je WebGPU a proč existuje.

Co je Web GPU?

WebGPU je jakýmsi nástupcem WebGL , mnohem staršího API, které vám umožňuje zobrazovat grafiku založenou na OpenGL ve vašem prohlížeči, aniž byste potřebovali další pluginy třetích stran, jako je Adobe Flash. Zatímco WebGL bylo revoluční, když bylo oznámeno v roce 2009, dnes trpí mnoha stejnými problémy jako OpenGL: nevyužívá plně výhod moderních GPU, může ztrácet výkon kvůli režii ovladače a má jen omezené možnosti. a neohrabaná podpora pro výpočetní zatížení GPU.

„Zatímco WebGL je primárně navrženo pro kreslení obrázků, ale může být znovu použito (s větším úsilím) k provádění jiných druhů výpočtů, WebGPU má špičkovou podporu pro provádění obecných výpočtů na GPU,“ stojí v návrhu dokumentu, který vysvětluje, proč existuje WebGPU . . Nové API zlepší grafiku v prostředích jako Babylon.js a herních enginech jako Unity; bude podporovat pracovní zátěže akcelerované GPU, jako jsou ty, které se používají pro strojové učení a umělou inteligenci; a může usnadnit webovým aplikacím pro fotografie a videa (mimo jiné) využívat výhod akcelerace GPU, z níž těží nativní aplikace.

WebGPU vyvíjí pracovní skupina, která zahrnuje zástupce společností Google, Microsoft, Apple, Mozilla, Intel a mnoho dalších společností, a proto bylo API navrženo tak, aby bylo co nejvíce kompatibilní. WebGPU není přímou implementací žádného existujícího grafického API, ale je nativním API, které sedí nad Direct3D 12, Metal a Vulkan a spolupracuje s nimi. Tento vysvětlovač od Surmy, inženýra Shopify a bývalého zaměstnance společnosti Google, to pěkně shrnuje (náš důraz):

„Zatímco WebGL je jen tenký obal kolem OpenGL, WebGPU zvolil jiný přístup. Zavádí své vlastní abstrakce a přímo neodráží žádné z těchto nativních rozhraní API. Částečně je to proto, že na všech systémech není k dispozici jediné API, ale také proto, že mnoho konceptů (jako je správa extrémně nízké úrovně paměti) není pro webové rozhraní API idiomatické. Místo toho bylo WebGPU navrženo tak, aby působilo jako „webové“ a pohodlně sedělo na jakémkoli nativním grafickém rozhraní API a abstrahovalo jejich výstřednosti. Je standardizován ve W3C a všichni hlavní výrobci prohlížečů sedí kolem stolu.“

To má tu výhodu, že kód WebGPU se stává velmi přenosným – pište kód WebGPU a pokud mají uživatelé hardware a prohlížeč, který to podporuje, měli byste získat stejný výsledek na systému Windows s Direct3D a na telefonu Android s Vulkanem. A vyhýbá se některým hackům, které udržují WebGL v chodu – například WebGL na Windows a macOS ani přímo nepoužívá OpenGL, ale místo toho používá překladač nazvaný ANGLE, který místo toho mění volání OpenGL API na volání Direct3D a Metal API . S WebGPU není potřeba spouštět zcela samostatný projekt pro psaní pomalé nebo špatně udržované implementace OpenGL.

WebGPU má také svůj vlastní shader jazyk (WGSL), na jehož podpoře tým Chrome stále pracuje – dnešní oznámení říká, že Google „plánuje poskytnout hlubší přístup k shaderovým jádrům“ prostřednictvím WGSL v budoucí verzi. Stejně jako zbytek rozhraní WebGPU API je WGSL nezávislá na platformě a snadno se převádí do preferovaného jazyka shaderu jakéhokoli operačního systému, na kterém jej používáte.

A konečně, navzdory slovu „síť“ v názvu není rozhraní WebGPU API omezeno na prohlížeče. Projekt wgpu je Rustova verze WebGPU, která vám umožňuje psát aplikace WebGPU a spouštět je mimo webové prohlížeče.

Pokud chcete nyní experimentovat s WebGPU, Chrome 113 beta je k dispozici zde . Zde je k dispozici úložiště GitHub s ukázkami kódu a oficiální dokumentace pro WebGPU i WGSL .

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *