A Chrome már rendelkezik WebGPU-támogatással, és alapértelmezés szerint engedélyezve lesz

WebGPU Chrome

Több éves fejlesztés után a Chrome csapata kiadja a WebGPU-t

Pár napja A Google bemutatta egy bejelentetten keresztül a WebGPU grafikus API alapértelmezett támogatása és WebGPU árnyékolási nyelv (WGSL) Chrome 113 ágban, amely a tervek szerint május 2-án jelenik meg.

Azok számára, akik nincsenek tisztában a WebGPU-val, ezt tudniuk kell a Vulkan, Metal és a Direct3D 12-höz hasonló API-t biztosít GPU-oldali műveletek, például renderelés és számítás végrehajtásához, valamint lehetővé teszi a shader nyelv használatát a GPU-oldali programok írásához.

A WebGPU-ról

Fogalmilag A WebGPU ugyanúgy különbözik a WebGL-től, mint a Vulkan grafikus API az OpenGL-től, de a WebGPU nem egy konkrét grafikus API-n alapul, hanem egy általános célú réteg, amely ugyanazokat az alacsony szintű primitíveket használja, mint a Vulkanban. Metal és Direct3D. WebGPU JavaScript-alkalmazásokat biztosít alacsony szintű szabályozással a szervezet felett, parancsok feldolgozása és továbbítása a GPU-ra, a kapcsolódó erőforrások, memória, pufferek, textúra objektumok és lefordított grafikus árnyékolók kezelése. Ez a megközelítés lehetővé teszi nagyobb teljesítményű grafikus alkalmazások elérését a rezsicsökkentés és a GPU hatékonyságának növelése révén.

WebGPU lehetővé teszi komplex 3D-s projektek készítését az internet számára amelyek éppúgy működnek, mint a Vulkan, Metal vagy Direct3D közvetlenül használó önálló programok, de nincsenek meghatározott platformokhoz kötve. A WebGPU további lehetőségeket is biztosít a natív grafikus programok portolásához web-képes űrlapra a WebAssemblyben történő fordítással. A WebGPU a 3D-s grafika mellett a számítások GPU-oldalra történő átrakásával és a shaderek futtatásával kapcsolatos lehetőségeket is lefedi.

A WebGPU főbb jellemzői közül a következőket emelhetjük ki:

  • Az erőforrások elkülönített kezelése, előkészítő munka és parancsok továbbítása a GPU-ra (a WebGL-ben egy objektum volt egyszerre felelős mindenért). Három különálló környezet áll rendelkezésre: GPudevice erőforrások, például textúrák és pufferek létrehozásához; GPUCommandEncoder egyedi parancsok kódolásához, beleértve a feldolgozási és számítási szakaszokat; GPUCommandBuffer, hogy átadja a GPU végrehajtási sorába.
    Az eredmény megjeleníthető egy vagy több vászonelemhez társított területen, vagy kimenet nélkül (például számítási feladatok futtatásakor). Az állomásozás megkönnyíti az erőforrás-létrehozási és -kiépítési műveletek különböző vezérlőkre történő szétválasztását, amelyek különböző szálakon futhatnak.
  • Az állapotkezelés más megközelítése. A WebGPU két objektumot biztosít, a GPURenderPipeline-t és a GPUComputePipeline-t, amelyek lehetővé teszik a fejlesztő által előre meghatározott különböző állapotok kombinálását, lehetővé téve a böngésző számára, hogy ne pazarolja az erőforrásokat további munkára, például a shaderek újrafordítására. A támogatott állapotok a következők: árnyékolók, csúcspuffer- és attribútum-elrendezések, rögzített csoportelrendezések, keverés, mélység és minták, megjelenítés utáni kimeneti formátumok.
  • Kötési modell, hasonlóan a Vulkan erőforrás-gyűjtő eszközeihez. Az erőforrások csoportokba csoportosításához a WebGPU egy GPUBindGroup objektumot biztosít, amely más hasonló objektumokhoz köthető, és a parancsrögzítés során a shaderekben használható.
    Az ilyen csoportok létrehozása lehetővé teszi a vezérlő számára, hogy előre elvégezze a szükséges előkészítő műveleteket, és lehetővé teszi a böngésző számára, hogy sokkal gyorsabban váltson erőforrás-összerendeléseket a rajzolási hívások között. Az erőforrás-összerendelések elrendezése előre meghatározható a GPUBindGroupLayout objektum segítségével.

A Chrome mellett A kísérleti WebGPU támogatást 2020 áprilisa óta tesztelik a Firefoxban és 2021 novemberétől a Safariban. A WebGPU Firefoxban való engedélyezéséhez be kell állítania a dom.webgpu.enabled és a gfx.webgpu.force-enabled jelzőket az about:config fájlban.

Még nem tervezik a WebGPU alapértelmezés szerinti engedélyezését a Firefoxban és a Safariban. A Firefoxhoz és a Chrome-hoz fejlesztett WebGPU-megvalósítások különálló könyvtárakként érhetők el: Dawn (C++) és wgpu (Rust), amelyek segítségével integrálhatja a WebGPU-támogatást az alkalmazásaiba.

Szintén érdemes megjegyezni, hogy folyamatban van a WebGPU támogatás hozzáadásával a népszerű JavaScript-könyvtárokhoz, natív módon, WebGL használatával. Például a teljes WebGPU-támogatás már deklarált a Babylon.js-ban, és részleges a Three.js-ben, a PlayCanvas-ban és a TensorFlow.js-ben.

A A WebGPU kezdetben csak a ChromeOS, macOS és Windows buildeken lesz engedélyezve, míg a Linux és az Android esetében a WebGPU támogatás egy későbbi időpontban aktiválódik.

Végül, ha többet szeretne megtudni róla, akkor tanulmányozza a részleteket A következő linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.