Chrome 113 aktivizē WebGPU — modernu, zemu grafisko API tīmeklim.
Google šodien paziņoja, ka tā iespējos WebGPU atbalstu savā noklusējuma pārlūkprogrammā Chrome, sākot ar versiju 113, kas pašlaik ir beta versijā. WebGPU, kas tiek izstrādāts kopš 2017. gada, ir nākamās paaudzes grafikas API, kuras mērķis ir izmantot zemas pieskaitāmās API priekšrocības, piemēram, Microsoft Direct3D 12, Apple Metal un Vulkan tīmekļa pārlūkprogrammās un citās lietojumprogrammās.
WebGPU atbalsts ir bijis pieejams kādu laiku, taču pārlūkā Chrome tas pēc noklusējuma ir atspējots, jo API nav pabeigta un var tikt pārtraukta atjaunināšana. Google saka, ka gan Mozilla, gan Apple galu galā atbalstīs WebGPU pārlūkprogrammās Firefox un Safari, un tādas pārlūkprogrammas kā Microsoft Edge un Opera, kas paļaujas uz Chromium pārlūkprogrammas dzinēju, varētu to iespējot, kā to darīja Google.
Chrome 113 atbalsta WebGPU operētājsistēmās Windows, macOS un ChromeOS, savukārt “atbalsts citām platformām”, piemēram, Linux un Android, tiks nodrošināts vēlāk šogad. Šai pārlūkprogrammas versijai vajadzētu būt pieejamai visiem Chrome lietotājiem maijā.
Atbalsts pārlūkā Chrome ir liels solis uz priekšu jebkuram jaunam standartam neatkarīgi no tā, vai tas ir jauns vai atjaunināts API, attēla formāts vai video kodeku. Saskaņā ar StatCounter datiem pārlūks Chrome veido aptuveni divas trešdaļas no pārlūkprogrammu tirgus daļas visā pasaulē un gandrīz 80 procentus no kopējās pārlūkprogrammu tirgus daļas, ja ņem vērā citas pārlūkprogrammas, kuru pamatā ir Chromium. Kad Safari un Firefox pievienos atbalstu, praktiski visas tīmekļa pārlūkprogrammas visā pasaulē varēs palaist WebGPU kodu, tāpēc ir vērts īsi paskaidrot, kas ir WebGPU un kāpēc tas pastāv.
Kas ir Web GPU?
WebGPU ir WebGL pēctecis — daudz vecāka API, kas ļauj pārlūkprogrammā parādīt uz OpenGL balstītu grafiku, neprasot papildu trešās puses spraudņus, piemēram, Adobe Flash. Lai gan WebGL bija revolucionārs, kad par to tika paziņots 2009. gadā, šodien tas cieš no daudzām tādām pašām problēmām kā OpenGL: tas neizmanto visas moderno GPU sniegtās priekšrocības, tā var zaudēt veiktspēju draivera papildu izmaksu dēļ, un tam ir tikai ierobežotas iespējas. un neveikls atbalsts GPU skaitļošanas slodzei.
“Lai gan WebGL galvenokārt ir paredzēts attēlu zīmēšanai, taču to var izmantot (ar lielāku piepūli), lai veiktu cita veida aprēķinus, WebGPU ir izcils atbalsts vispārēju aprēķinu veikšanai GPU,” teikts dokumenta projektā, kurā paskaidrots, kāpēc ir WebGPU . . Jaunā API uzlabos grafiku tādās vidēs kā Babylon.js un spēļu dzinējos, piemēram, Unity; atbalstīs GPU paātrinātas darba slodzes, piemēram, tās, ko izmanto mašīnmācībai un mākslīgajam intelektam; un var atvieglot fotoattēlu un video tīmekļa lietotnēm (cita starpā) izmantot GPU paātrinājumu, ko gūst vietējās lietotnes.
WebGPU izstrādā darba grupa, kurā ir pārstāvji no Google, Microsoft, Apple, Mozilla, Intel un daudzām citām kompānijām, un rezultātā API ir izstrādāta tā, lai tā būtu maksimāli saderīga. WebGPU nav tieša neviena esošā grafikas API ieviešana, bet gan vietēja API, kas atrodas virspusē un mijiedarbojas ar Direct3D 12, Metal un Vulkan. Šis skaidrotājs no Surma, Shopify inženiera un bijušā Google darbinieka, to labi apkopo (mūsu uzsvars):
“Lai gan WebGL ir tikai plāns OpenGL apvalks, WebGPU ir izvēlējies citu pieeju. Tas ievieš savas abstrakcijas un tieši neatspoguļo nevienu no šīm vietējām API. Daļēji tas ir tāpēc, ka visās sistēmās nav pieejams viens API, bet arī tāpēc, ka daudzi jēdzieni (piemēram, ārkārtīgi zema līmeņa atmiņas pārvaldība) nav idiotiski Web API. Tā vietā WebGPU tika izstrādāts tā, lai tas justos kā “tīmeklim” un ērti novietotos uz jebkuras vietējās grafikas API, novēršot to īpatnības. Tas ir standartizēts W3C, un visi lielākie pārlūkprogrammu pārdevēji sēž pie galda.
Tam ir priekšrocība, ka WebGPU kods kļūst ļoti pārnēsājams – rakstiet WebGPU kodu un, ja vien lietotājiem ir aparatūra un pārlūkprogramma, kas to atbalsta, jums vajadzētu iegūt tādu pašu rezultātu Windows sistēmā ar Direct3D un Android tālrunī ar Vulkan. Un tas ļauj izvairīties no dažiem uzlaušanas gadījumiem, kas nodrošina WebGL darbību, piemēram, WebGL operētājsistēmās Windows un macOS pat neizmanto OpenGL tieši, bet gan izmanto tulkotāju ANGLE, kas tā vietā pārvērš OpenGL API izsaukumus par Direct3D un Metal API izsaukumiem. Izmantojot WebGPU, nav jāuzsāk pilnīgi atsevišķs projekts, lai uzrakstītu lēnu vai slikti uzturētu OpenGL ieviešanu.
WebGPU ir arī sava ēnotāju valoda (WGSL), pie kuras Chrome komanda joprojām strādā. Šodienas paziņojumā teikts, ka Google plāno nodrošināt dziļāku piekļuvi ēnotāju kodoliem, izmantojot WGSL nākotnē. Tāpat kā pārējā WebGPU API, WGSL ir neatkarīga no platformas un viegli tiek tulkota uz vēlamo ēnotāju valodu neatkarīgi no tā, kurā operētājsistēmā to izmantojat.
Visbeidzot, neskatoties uz vārdu “tīkls” nosaukumā, WebGPU API neaprobežojas tikai ar pārlūkprogrammām. Wgpu projekts ir Rust WebGPU versija, kas ļauj rakstīt WebGPU lietojumprogrammas un palaist tās ārpus tīmekļa pārlūkprogrammām.
Ja vēlaties tagad eksperimentēt ar WebGPU, Chrome 113 beta versija ir pieejama šeit . GitHub repozitorijs ar kodu paraugiem ir pieejams šeit , un ir oficiāla dokumentācija gan WebGPU , gan WGSL .
Atbildēt