WebGPU tugi on saadaval Firefoxi öistes versioonides

Teave WebGPU spetsifikatsiooni integreerimise kohta on avaldatud igal õhtul Firefoxis ehitab, mis nüüd pakub programmeerimisliidest 3D-graafika töötlemiseks ja arvutiprotsessor GPU poolelt, kontseptuaalselt sarnane Vulkani API-le, metalile ja Direct3D 12-le. Spetsifikatsiooni töötavad välja Mozilla, Google, Apple, Microsoft ja kogukonna esindajad organisatsiooni W3C loodud töörühmas.

WebGPU peamine eesmärk on luua turvaline, mugav, kaasaskantav ja suure jõudlusega tarkvaraliides kasutamiseks veebiplatvormil koos 3D-graafika tehnoloogia ja võimalustega, mida pakuvad kaasaegsed süsteemigraafika API-d, näiteks Direct3D 12 Windowsis, Metal MacOS-is ja Vulkan Linuxis.

Kontseptuaalselt WebGPU erineb WebGL-ist samal viisil, nagu Vulkan erineb OpenGL-ist ja see ei põhine konkreetsel graafilisel API-l, pigem on see universaalne kiht üldiselt, kasutades samu madala taseme primitiive, mis on saadaval Vulkanis, Metalis ja Direct3D-s.

Firefoxis on WebGPU lubamiseks ette nähtud seade "dom.webgpu.enabled" umbes: config. Lisaks CanvasContext'i renderdamisele nõuab see ka WebRenderi kompositsioonisüsteemi ("gfx.webrender.all" umbes: config) lisamist.

WebGPU juurutamine põhineb Rustis kirjutatud wgpu projekti koodil ja võib töötada Linuxi, Androidi, Windowsi ja MacOS-i DX12, Vulkani ja Metal API-de peal (arendamisel on ka DX11 ja OpenGL ES 3.0 tugi).

Teave WebGPU kohta

WebGPU pakub JavaScripti rakendustele tööriistu madalama taseme juhtimiseks organisatsiooni kohta, käskude töötlemine ja edastamine GPU-le, seotud ressursside, mälu, puhvrite, tekstuuriobjektide ja kompileeritud graafiliste varjutajate haldamine. See lähenemine saab võimaldab suurema jõudlusega graafikarakendusi vähendades üldkulusid ja suurendades GPU-ga töötamise tõhusust.

WebGPU võimaldab luua veebi jaoks terviklikke keerukaid 3D-projekte need ei toimi halvemini kui eraldiseisvad programmid, mis suhtlevad otse Vulkani, Metalli või Direct3D-ga, kuid pole seotud konkreetsete platvormidega.

ka pakub lisavõimalusi kohalike graafikaprogrammide teisaldamise kaudu vormile, mis saab toimida veebipõhiste tehnoloogiate põhjal kasutades veebiassamblee tehnoloogiat.

Lisaks 3D-graafikale WebGPU hõlmab ka võimalusi, mis on seotud arvutite välistamisega GPU kõrval ja varjude arendamise toetamine. Varjutajaid saab luua WebGPU varjuri keeles või täpsustada SPIR-V vahevormingus ja seejärel tõlkida varjundikeeltesse, mida praegused draiverid toetavad.

WebGPU kasutab eraldi ressursside haldamist, ettevalmistustöid ja käskude edastamist GPU-le (WebGL-is vastutas kõige eest korraga üks objekt). Pakutakse kolme eraldi konteksti: GPUD-seade ressursside, näiteks tekstuuride ja puhvrite loomiseks; GPUCommandEncoder üksikute käskude, sealhulgas renderdamis- ja arvutusetappide kodeerimiseks; GPUCommandBuffer GPU-s käivitamiseks järjekorda.

Teine erinevus WebGPU ja WebGL vahel on teistsugune lähenemine olekute käsitlemisele. WebGPU-s pakutakse välja kaks objekti: GPURenderPipeline ja GPUComputePipeline, mis võimaldavad kombineerida mitut arendaja poolt eelnevalt määratletud olekut, mis võimaldab brauseril mitte raisata ressursse lisatööle, näiteks varjude kompileerimisele. Toetatud olekute hulka kuuluvad: varjutajad, tipppuhvrid ja atribuutide paigutused, lisatud rühmade paigutused, segamine, sügavus ja mustrid, renderdamisjärgsed väljundvormingud.

WebGPU kolmas funktsioon on sidumismudel, mis paljuski sarnaneb Vulkanis olevate ressursside ühendamise vahenditega. Ressursside rühmitamiseks rühmadesse pakub WebGPU objekti GPUBindGroup, mille saab käske sisestades seostada muude sarnaste objektidega, mida saab kasutada varjundites.

Selliste rühmade loomine võimaldab juhil eelnevalt vajalikke ettevalmistavaid toiminguid teha ja brauser võimaldab palju kiiremini ressursside linke tõmbekõnede vahel vahetada.

allikas: https://hacks.mozilla.org/


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.