Chrome už bude mať podporu WebGPU a bude predvolene povolený

WebGPU Chrome

Po rokoch vývoja vydal tím Chrome WebGPU

Pred pár dňami Google predstavený prostredníctvom jedného ohláseného predvolená podpora pre grafické rozhranie WebGPU API a WebGPU Shading Language (WGSL) vo vetve Chrome 113, ktorého vydanie je naplánované na 2. mája.

Pre tých, ktorí nepoznajú WebGPU, by ste to mali vedieť poskytuje API podobné ako Vulkan, Metal a Direct3D 12 na vykonávanie operácií na strane GPU, ako je vykresľovanie a výpočty, a tiež umožňuje používať shader jazyk na písanie programov na strane GPU.

Informácie o WebGPU

Koncepčne, WebGPU sa líši od WebGL rovnakým spôsobom, ako sa grafické API Vulkan líši od OpenGL, ale WebGPU nie je založené na špecifickom grafickom rozhraní API, skôr ide o vrstvu na všeobecné použitie, ktorá používa rovnaké primitívy nízkej úrovne, aké sa nachádzajú vo Vulkan. Metal a Direct3D. WebGPU poskytuje aplikáciám JavaScript s nízkou úrovňou kontroly nad organizáciou, spracovanie a prenos príkazov do GPU, správa súvisiacich zdrojov, pamäte, vyrovnávacích pamätí, objektov textúr a kompilovaných grafických shaderov. Tento prístup vám umožňuje dosiahnuť vyšší výkon grafických aplikácií znížením réžie a zvýšením efektivity GPU.

WebGPU umožňuje vytvárať zložité 3D projekty pre web ktoré fungujú rovnako dobre ako samostatné programy, ktoré priamo používajú Vulkan, Metal alebo Direct3D, ale nie sú viazané na konkrétne platformy. WebGPU poskytuje aj ďalšie možnosti na prenos natívnych grafických programov na webový formulár kompiláciou v WebAssembly. Okrem 3D grafiky pokrýva WebGPU aj možnosti spojené s presunom výpočtov na stranu GPU a spúšťaním shaderov.

Z kľúčových funkcií WebGPU môžeme zdôrazniť nasledovné:

  • Samostatné riadenie zdrojov, prípravné práce a prenos príkazov na GPU (vo WebGL bol jeden objekt zodpovedný za všetko naraz). K dispozícii sú tri samostatné kontexty: GPUDevice na vytváranie zdrojov, ako sú textúry a vyrovnávacie pamäte; GPUCommandEncoder na kódovanie jednotlivých príkazov vrátane fáz spracovania a výpočtu; GPUCommandBuffer na odovzdanie do frontu vykonávania GPU.
    Výsledok možno vykresliť v oblasti spojenej s jednou alebo viacerými položkami plátna alebo vykresliť bez výstupu (napríklad pri spustení výpočtových úloh). Staging uľahčuje oddelenie operácií vytvárania prostriedkov a poskytovania do rôznych radičov, ktoré môžu bežať na rôznych vláknach.
  • Iný prístup k narábaniu so štátom. WebGPU poskytuje dva objekty, GPURenderPipeline a GPUComputePipeline, ktoré vám umožňujú kombinovať rôzne stavy preddefinované vývojárom, čo umožňuje prehliadaču neplytvať zdrojmi na ďalšiu prácu, ako je napríklad prekompilovanie shaderov. Medzi podporované stavy patria: shadery, rozloženie vyrovnávacej pamäte vrcholov a atribútov, rozloženie pevných skupín, miešanie, hĺbka a vzory, výstupné formáty po vykreslení.
  • Záväzný model, podobne ako Vulkanove nástroje na združovanie zdrojov. Ak chcete zoskupiť zdroje do skupín, WebGPU poskytuje objekt GPUBindGroup, ktorý môže byť naviazaný na iné podobné objekty na použitie v shaderoch počas nahrávania príkazov.
    Vytvorenie takýchto skupín umožňuje ovládaču vykonať potrebné prípravné akcie vopred a prehliadaču umožňuje oveľa rýchlejšie prepínať väzby zdrojov medzi volaniami kreslenia. Rozloženie väzieb zdrojov je možné preddefinovať pomocou objektu GPUBindGroupLayout.

Okrem prehliadača Chrome experimentálna podpora WebGPU bola testovaná od apríla 2020 vo Firefoxe a od novembra 2021 na Safari. Ak chcete povoliť WebGPU vo Firefoxe, musíte nastaviť príznaky dom.webgpu.enabled a gfx.webgpu.force-enabled v about:config.

Zatiaľ sa neplánuje štandardne povoliť WebGPU vo Firefoxe a Safari. Implementácie WebGPU vyvinuté pre Firefox a Chrome sú dostupné ako samostatné knižnice: Dawn (C++) a wgpu (Rust), ktoré môžete použiť na integráciu podpory WebGPU do svojich aplikácií.

Za zmienku tiež stojí, že sa pracuje na pridaní podpory WebGPU do populárnych knižníc JavaScript natívne pomocou WebGL. Napríklad úplná podpora WebGPU je už deklarovaná v Babylon.js a čiastočná v Three.js , PlayCanvas a TensorFlow.js.

Vykonávanie WebGPU bude spočiatku povolený iba v zostavách pre ChromeOS, macOS a Windows, zatiaľ čo pre Linux a Android bude podpora WebGPU aktivovaná neskôr.

Nakoniec, ak máte záujem dozvedieť sa o tom viac, môžete sa obrátiť na podrobnosti Na nasledujúcom odkaze.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.