Chrome bo že imel podporo za WebGPU in bo privzeto omogočen

WebGPU Chrome

Po letih razvoja ekipa Chroma izda WebGPU

Pred nekaj dnevi Google je predstavil preko enega napovedal privzeta podpora za grafični API WebGPU in WebGPU Shading Language (WGSL) v podružnici Chrome 113, ki bo izšla 2. maja.

Tisti, ki ne poznajo WebGPU, bi morali to vedeti ponuja API, podoben Vulkanu, Metalu in Direct3D 12 za izvajanje operacij na strani GPE, kot sta upodabljanje in računanje, in tudi omogoča uporabo senčilnega jezika za pisanje programov na strani GPE.

O WebGPU

Konceptualno, WebGPU se razlikuje od WebGL na enak način, kot se grafični API Vulkan razlikuje od OpenGL, vendar WebGPU ne temelji na posebnem grafičnem API-ju, temveč je plast splošnega namena, ki uporablja enake primitive nizke ravni kot v Vulkanu. Metal in Direct3D. WebGPE zagotavlja aplikacijam JavaScript nizek nivo nadzora nad organizacijo, obdelava in prenos ukazov v GPE, upravljanje povezanih virov, pomnilnika, vmesnih pomnilnikov, teksturnih objektov in sestavljenih grafičnih senčil. Ta pristop vam omogoča doseganje višjo zmogljivost grafičnih aplikacij z zmanjšanjem stroškov in povečanjem učinkovitosti GPE.

WebGPE vam omogoča ustvarjanje zapletenih 3D projektov za splet ki delujejo enako dobro kot samostojni programi, ki neposredno uporabljajo Vulkan, Metal ali Direct3D, vendar niso vezani na določene platforme. WebGPU nudi tudi dodatne možnosti za prenos domačih grafičnih programov v spletni obrazec s prevajanjem v WebAssembly. Poleg 3D grafike WebGPU pokriva tudi možnosti, povezane z razbremenitvijo izračunov na stran GPE in izvajanjem senčil.

Med ključnimi značilnostmi WebGPU lahko izpostavimo naslednje:

  • Ločeno upravljanje virov, pripravljalna dela in prenos ukazov na GPU (v WebGL je bil en objekt odgovoren za vse hkrati). Na voljo so trije ločeni konteksti: GPUDevice za ustvarjanje virov, kot so teksture in medpomnilniki; GPUCommandEncoder za kodiranje posameznih ukazov, vključno s stopnjami obdelave in izračuna; GPUCommandBuffer za posredovanje v čakalno vrsto izvajanja GPU.
    Rezultat je lahko upodobljen v območju, povezanem z enim ali več elementi platna, ali upodobljen brez izhoda (na primer pri izvajanju računalniških nalog). Staging omogoča preprosto ločevanje operacij ustvarjanja virov in zagotavljanja v različne krmilnike, ki se lahko izvajajo v različnih nitih.
  • Drugačen pristop k ravnanju s stanjem. WebGPU ponuja dva predmeta, GPURenderPipeline in GPUComputePipeline, ki omogočata kombiniranje različnih stanj, ki jih je vnaprej določil razvijalec, kar brskalniku omogoča, da ne zapravlja sredstev za dodatno delo, kot je ponovno prevajanje senčil. Podprta stanja vključujejo: senčnike, medpomnilnik vozlišč in postavitve atributov, postavitve fiksnih skupin, mešanje, globino in vzorce, izhodne formate po upodabljanju.
  • Zavezujoč model, podobno kot Vulkanova orodja za združevanje virov. Za združevanje virov v skupine WebGPU ponuja objekt GPUBindGroup, ki ga je mogoče povezati z drugimi podobnimi objekti za uporabo v senčilih med snemanjem ukazov.
    Ustvarjanje takšnih skupin omogoča krmilniku, da izvede potrebna pripravljalna dejanja vnaprej, brskalniku pa omogoča, da veliko hitreje preklaplja vezave virov med klici risanja. Postavitev povezav virov je mogoče vnaprej določiti z uporabo predmeta GPUBindGroupLayout.

Poleg Chroma, Eksperimentalna podpora WebGPU je bila testirana od aprila 2020 v Firefoxu in od novembra 2021 na Safariju. Če želite omogočiti WebGPU v Firefoxu, morate nastaviti zastavici dom.webgpu.enabled in gfx.webgpu.force-enabled v about:config.

Še ni načrtov za privzeto omogočanje WebGPU v Firefoxu in Safariju. Implementacije WebGPU, razvite za Firefox in Chrome, so na voljo kot ločeni knjižnici: Dawn (C++) in wgpu (Rust), ki ju lahko uporabite za integracijo podpore WebGPU v svoje aplikacije.

Omeniti velja tudi, da poteka delo za dodajanje podpore WebGPU priljubljenim knjižnicam JavaScript, ki izvorno uporabljajo WebGL. Na primer, popolna podpora WebGPU je že deklarirana v Babylon.js in delna v Three.js, PlayCanvas in TensorFlow.js.

Izvajanje WebGPU bo na začetku omogočen samo v različicah za ChromeOS, macOS in Windows, za Linux in Android pa bo podpora za WebGPU aktivirana pozneje.

Nazadnje, če vas zanima več o tem, se lahko posvetujete s podrobnostmi V naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.