Chrome 113 aktiveerib WebGPU, moodsa väikese üldkuluga graafika API veebi jaoks.
Google teatas täna , et lubab oma Chrome’i vaikebrauseris WebGPU toe alates versioonist 113, mis on praegu beetaversioonis. WebGPU, mida arendatakse alates 2017. aastast, on järgmise põlvkonna graafika API, mille eesmärk on kasutada veebibrauserites ja muudes rakendustes ära madala üldkuluga API-sid, nagu Microsoft Direct3D 12, Apple Metal ja Vulkan.
WebGPU tugi on olnud juba mõnda aega saadaval, kuid see on Chrome’is vaikimisi keelatud, kuna API ei ole lõplikult vormistatud ja asjad võivad värskendusest värskenduseni katkeda. Google ütleb, et nii Mozilla kui ka Apple toetavad lõpuks WebGPU-d Firefoxis ja Safaris ning Chromiumi brauserimootorile tuginevad brauserid nagu Microsoft Edge ja Opera võiksid seda lubada, nagu Google tegi.
Chrome 113 toetab WebGPU-d Windowsis, macOS-is ja ChromeOS-is, samal ajal kui „tugi muudele platvormidele”, nagu Linux ja Android, tuleb selle aasta lõpus. See brauseri versioon peaks muutuma kõigile Chrome’i kasutajatele kättesaadavaks millalgi mais.
Chrome’i tugi on suur samm edasi iga uue standardi puhul, olgu see siis uus või värskendatud API, pildivorming või videokoodek. StatCounteri andmetel moodustab Chrome ise ligikaudu kaks kolmandikku brauseri turuosast kogu maailmas ja peaaegu 80 protsenti kogu brauseri turuosast, kui arvestada teisi Chromiumipõhiseid brausereid. Kui Safari ja Firefox lisavad toe, saavad peaaegu kõik veebibrauserid üle maailma WebGPU koodi käitada, seega tasub lühidalt selgitada, mis on WebGPU ja miks see olemas on.
Mis on Web GPU?
WebGPU on WebGL- i järglane , palju vanem API, mis võimaldab teil kuvada oma brauseris OpenGL-põhist graafikat, ilma et oleks vaja täiendavaid kolmanda osapoole pistikprogramme, nagu Adobe Flash. Kui WebGL oli 2009. aastal väljakuulutamise ajal revolutsiooniline, siis tänapäeval kannatab see paljude samade probleemide all nagu OpenGL: see ei kasuta täielikult ära kaasaegseid GPU-sid, võib kaotada jõudlust draiveri lisakulude tõttu ja selle võimalused on piiratud. ja kohmakas tugi GPU arvutuskoormusele.
“Kuigi WebGL on mõeldud peamiselt piltide joonistamiseks, kuid seda saab (suurema vaevaga) kasutada ka muud tüüpi arvutuste tegemiseks, on WebGPU-l tipptasemel tugi GPU-s üldiste arvutuste tegemiseks,” seisab dokumendi mustandis, milles selgitatakse, miks WebGPU on olemas . . Uus API parandab graafikat sellistes keskkondades nagu Babylon.js ja mängumootorites nagu Unity; toetab GPU-kiirendatud töökoormust, nagu masinõppe ja tehisintellekti jaoks kasutatavad koormused; ning hõlbustab foto- ja videoveebirakenduste (muu hulgas) GPU kiirenduse ärakasutamist, millest omarakendused kasu saavad.
WebGPU-d arendab töörühm, kuhu kuuluvad Google’i, Microsofti, Apple’i, Mozilla, Inteli ja paljude teiste ettevõtete esindajad ning selle tulemusena on API loodud võimalikult laialdaselt ühilduvaks. WebGPU ei ole ühegi olemasoleva graafika API otsene juurutus, vaid on natiivne API, mis asub Direct3D 12, Metal ja Vulkan peal ja suhtleb nendega. See Shopify inseneri ja endise Google’i töötaja Surma selgitaja võtab selle kenasti kokku (meie rõhuasetus):
“Kuigi WebGL on vaid õhuke ümbris OpenGL-i ümber, on WebGPU võtnud teistsuguse lähenemisviisi. See tutvustab oma abstraktsioone ega kajasta otseselt ühtegi nendest natiivsetest API-dest. See on osaliselt tingitud sellest, et kõigis süsteemides pole saadaval ühtki API-t, aga ka seetõttu, et paljud kontseptsioonid (nt äärmiselt madala taseme mäluhaldus) ei ole Web API jaoks idiomaatilised. Selle asemel oli WebGPU loodud nii, et see tunneks end “veebisarnaselt” ja istuks mugavalt mis tahes natiivse graafika API peal, eemaldades nende eripärad. See on W3C-s standarditud ja kõik suuremad brauserimüüjad istuvad laua taga.
Selle eeliseks on see, et WebGPU kood muutub väga kaasaskantavaks – kirjuta WebGPU kood ja seni, kuni kasutajatel on riistvara ja seda toetav brauser, peaksid sama tulemuse saama Direct3D-ga Windows süsteemis ja Vulkaniga Android telefonis. Ja see väldib mõningaid häkke, mis hoiavad WebGL-i töös – näiteks ei kasuta WebGL Windowsis ja macOS-is isegi otse OpenGL-i, vaid kasutab selle asemel ANGLE-nimelist tõlki, mis muudab OpenGL API-kutsed Direct3D- ja Metal API-kõnedeks. WebGPU-ga ei ole vaja käivitada täiesti eraldi projekti, et kirjutada OpenGL-i aeglane või halvasti hooldatud juurutamine.
WebGPU-l on ka oma varjundikeel (WGSL), mille toetamise kallal Chrome’i meeskond endiselt töötab – tänases teadaandes öeldakse, et Google kavatseb tulevases versioonis WGSL-i kaudu pakkuda sügavamat juurdepääsu varjutustuumadele. Nagu ülejäänud WebGPU API, on ka WGSL platvormist sõltumatu ja tõlgitakse hõlpsasti mis tahes operatsioonisüsteemi eelistatud varjutuskeelde, milles seda kasutate.
Lõpuks, vaatamata nimes olevale sõnale „võrk”, ei piirdu WebGPU API ainult brauseritega. Wgpu projekt on Rusti versioon WebGPU-st, mis võimaldab teil kirjutada WebGPU rakendusi ja käitada neid väljaspool veebibrausereid.
Kui soovite nüüd WebGPU-ga katsetada, on Chrome 113 beetaversioon saadaval siin . GitHubi hoidla koodinäidistega on saadaval siin ja nii WebGPU kui ka WGSL-i jaoks on olemas ametlik dokumentatsioon .
Lisa kommentaar