Firefox in Safari bosta dobila podporo za spletni grafični procesor

Mozilla se je odločila, da bo v Firefoxu omogočila podporo za WebGPU API in WGSL (WebGPU Shading Language). Za platformo Windows Podpora za WebGPU bo privzeto omogočena v Firefoxu 141, predvidenem za 22. julij. Podpora za WebGPU naj bi bila nato omogočena v različicah za naslednje mesece: Linux и macOSin čez nekaj časa v različici za platformo AndroidČe želite ročno omogočiti WebGPU, lahko na strani about:config uporabite parametra »dom.webgpu.enabled« in »gfx.webrender.all«.

V Chromu je bila podpora za WebGPU privzeto na voljo v različici 113, izdani maja 2023. V Safariju naj bi bila podpora za WebGPU privzeto omogočena to jesen (poskusna podpora je na voljo od novembra 2021). V Firefoxu je eksperimentalna podpora za WebGPU prisotna že od leta 2020, vendar je bila privzeto omogočena le v nočnih različicah Firefoxa. Implementacija WebGPU v Firefoxu temelji na kodi projekta WGPU, napisanem v Rustu in sposobnem delovanja nad grafičnimi API-ji Direct3D 12, Vulkan, OpenGL in Metal.

WebGPU ponuja podoben API kot Vulkan, Metal in Direct3D 12 za izvajanje operacij na strani GPU-ja. Poleg 3D-grafike WebGPU pokriva tudi zmogljivosti, povezane s prenosom izračunov na stran GPU-ja in izvajanjem senčil. Konceptualno se WebGPU od stare specifikacije WebGL razlikuje na podoben način, kot se grafični API Vulkan razlikuje od OpenGL-ja. Hkrati WebGPU ne temelji na specifičnem grafičnem API-ju, temveč je univerzalna plast, ki uporablja iste nizkonivojske primitive, ki so na voljo v Vulkanu, Metalu in Direct3D.

WebGPU omogoča aplikacijam JavaScript nadzor nad organizacijo, obdelavo in prenosom ukazov grafičnemu procesorju (GPU) ter upravljanje povezanih virov, pomnilnika, medpomnilnikov, teksturnih objektov in prevedenih grafičnih senčilnikov. Ta pristop omogoča večjo zmogljivost grafičnih aplikacij z zmanjšanjem režijskih stroškov in povečanjem učinkovitosti dela z grafičnim procesorjem.

Z WebGPU lahko ustvarite platformo-agnostične, kompleksne 3D-projekte, ki delujejo enako dobro kot samostojni programi, ki neposredno uporabljajo Vulkan, Metal ali Direct3D. WebGPU ponuja tudi dodatne zmogljivosti za prenos izvornih grafičnih programov v obliko, ki se lahko izvaja v brskalnikih, zahvaljujoč prevajanju v WebAssembly.

Ključne značilnosti WebGPU in razlike od WebGL:

  • Ločeno upravljanje virov, pripravljalna dela in prenos ukazov v 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 upodabljanja in izračuna; GPUCommandBuffer, ki bo postavljen v čakalno vrsto za izvajanje na GPE. Rezultat je mogoče upodobiti v območju, povezanem z enim ali več elementi platna, ali obdelati brez izhoda (na primer pri izvajanju računalniških nalog). Ločevanje stopenj olajša ločevanje operacij ustvarjanja in priprave virov v različne upravljalnike, ki se lahko izvajajo v različnih nitih.
  • Drugačen pristop k obdelavi stanj. WebGPU ponuja dva predmeta - GPURenderPipeline in GPUComputePipeline, ki omogočata kombiniranje različnih stanj, ki jih vnaprej določi razvijalec, kar omogoča brskalniku, da ne zapravlja sredstev za dodatno delo, kot je ponovno prevajanje senčil. Podprta stanja vključujejo: senčila, vmesni pomnilnik vozlišč in postavitve atributov, lepljive postavitve skupin, mešanje, globino in vzorce ter izhodne formate po upodabljanju.
  • Vezalni model, ki je zelo podoben Vulkanovim funkcijam združevanja virov. Za združevanje virov WebGPU ponuja objekt GPUBindGroup, ki ga je mogoče povezati z drugimi podobnimi objekti za uporabo v senčilih pri pisanju ukazov. Ustvarjanje takšnih skupin omogoča gonilniku, da vnaprej izvede potrebna pripravljalna dejanja, brskalniku pa omogoča veliko hitrejše spreminjanje vezav virov med klici risanja. Postavitev povezav virov je mogoče vnaprej določiti z uporabo predmeta GPUBindGroupLayout.

Vir: opennet.ru

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster