Inkxaso yeWebGPU iya kwenziwa kwiChrome

UGoogle ubhengeze ukufakwa kwenkxaso engagqibekanga yeWebGPU yemizobo yeAPI kunye neWGSL (WebGPU Shading Language) kwiChrome 113, ecwangciselwe ukukhululwa nge-2 kaMeyi. I-WebGPU ibonelela ngenkqubo yenkqubo efana neVulkan, iMetal, kunye ne-Direct3D 12 yokwenza imisebenzi ye-GPU-side efana nokunikezela kunye nekhompyutheni, kwaye ivumela ukusetyenziswa kolwimi lwe-shader ukubhala iinkqubo ezisebenza kwicala le-GPU. Ukuphunyezwa kweWebGPU kuya kuqala kunikwe amandla kuphela kwiChromeOS, macOS, kunye nokwakhiwa kweWindows. Kwi-Linux kunye ne-Android, inkxaso yeWebGPU iya kwenziwa emva kwexesha.

Ukongeza kwiChrome, inkxaso yovavanyo yeWebGPU iye yavavanywa ukusukela ngo-Epreli 2020 kwiFirefox kwaye ukusukela ngoNovemba ka-2021 eSafari. Ukwenza iWebGPU isebenze kwiFirefox, kufuneka usete i dom.webgpu.enabled kunye ne gfx.webgpu.force-enabled iflegi malunga:config. Akukho zicwangciso okwangoku zokwenza iWebGPU isebenze ngokungagqibekanga kwiFirefox kunye neSafari. Ukuphunyezwa kweWebGPU ephuhliswe kwiFirefox kunye neChrome ifumaneka ngendlela yamathala eencwadi ahlukeneyo - Dawn (C ++) kunye ne-wgpu (Rust), ongayisebenzisa ukudibanisa inkxaso yeWebGPU kwizicelo zakho. Umsebenzi uyaqhubeka ukongeza inkxaso yeWebGPU kumathala eencwadi adumileyo eJavaScript asebenzisa iWebGL ngokwemveli. Ngokomzekelo, inkxaso epheleleyo yeWebGPU sele ibhengezwe kwi-Babylon.js, kunye nenkxaso engaphelelanga kwi-Three.js, i-PlayCanvas kunye ne-TensorFlow.js.

Ngokwengqikelelo, iWebGPU yohluka kwiWebGL ngendlela efanayo neVulkan yemizobo yeAPI yohluke kwi-OpenGL, kodwa iWebGPU ayisekelwanga kwi-API yemizobo ethile, kodwa ngumaleko wendalo iphela osebenzisa umgangatho ophantsi ofanayo ofunyenwe kwiVulkan, iMetal kunye Direct3D. I-WebGPU ibonelela ngezicelo zeJavaScript ezinolawulo olusezantsi kumbutho, ukusetyenzwa kunye nokuhanjiswa kwemiyalelo kwi-GPU, ukulawula izixhobo ezihambelanayo, imemori, i-buffers, izinto zokuthungwa kunye ne-graphics shaders ehlanganisiweyo. Le ndlela ikuvumela ukuba ufezekise ukusebenza okuphezulu kwezicelo zegraphic ngokunciphisa iindleko eziphezulu kunye nokwandisa ukusebenza kakuhle kunye neGPU.

I-WebGPU yenza kube lula ukwenza iiprojekthi ezintsonkothileyo ze-3D zeWebhu ezingenzi zimbi kuneenkqubo ezizimeleyo ezisebenzisa ngqo iVulkan, iMetal okanye iDirect3D, kodwa zingabotshelelwanga kumaqonga athile. IWebGPU ikwabonelela ngezakhono ezongezelelekileyo zokuhambisa iinkqubo zemizobo yemveli kwifom eyenziweyo yewebhu ngokuhlanganisa kwiWebAssembly. Ukongeza kwimizobo ye-3D, iWebGPU ikwabandakanya amandla anxulumene nokukhuphela izibalo kwi-GPU kunye nokwenza i-shaders.

Iimpawu eziphambili zeWebGPU:

  • Ulawulo olwahlukileyo lwezibonelelo, umsebenzi wokulungiselela kunye nokuhanjiswa kwemiyalelo kwi-GPU (kwiWebGL enye into yayinoxanduva kuyo yonke into kanye kanye). Imixholo emithathu eyahlukileyo inikwe: I-GPUDevice yokudala izixhobo ezifana nokuthungwa kunye ne-buffers; IGPUCommandEncoder yokufaka iikhowudi kwimiyalelo yomntu ngamnye, kuquka unikezelo kunye nezigaba zokubala; IGPUCommandBuffer iza kufolelwa ukuphunyezwa kwiGPU. Isiphumo sinokunikezelwa kwindawo ehambelana nenye okanye ngaphezulu kwezinto zeseyile, okanye zisetyenzwe ngaphandle kwemveliso (umzekelo, xa uqhuba imisebenzi yekhompyutha). Ukwahlula izigaba kwenza kube lula ukwahlula ukudalwa kwezixhobo zokusebenza kunye nemisebenzi yokulungiselela kubaphangi abahlukeneyo abanokuqhuba kwimisonto eyahlukeneyo.
  • Indlela eyahlukileyo yokuqhuba amazwe. I-WebGPU inikezela ngezinto ezimbini - i-GPURenderPipeline kunye ne-GPUComputePipeline, ekuvumela ukuba udibanise amazwe ahlukeneyo achazwe ngaphambili ngumthuthukisi, ovumela ukuba isiphequluli singachithi izibonelelo kumsebenzi owongezelelweyo, njengokubuyisela i-shaders. Amazwe axhaswayo aquka: iishaders, i-vertex buffer kunye nokwakheka kweempawu, iiplani zeqela ezincangathi, ukudibanisa, ubunzulu kunye neepateni, kunye neefomathi zemveliso ye-post-render.
  • Imodeli ebophelelayo efana neempawu zeqela lezixhobo zeVulkan. Ukudibanisa izixhobo kunye, i-WebGPU ibonelela ngento ye-GPUBindGroup, enokuthi idibaniswe nezinye izinto ezifanayo zokusetyenziswa kwi-shaders ngelixa ubhala imiyalelo. Ukudala amaqela anjalo kuvumela umqhubi ukuba enze izenzo eziyimfuneko zokulungiselela kwangaphambili, kwaye ivumela isikhangeli ukuba sitshintshe izibophelelo zemithombo phakathi kweefowuni zokutsalwa ngokukhawuleza. Uyilo lwezibophelelo zemithombo lunokuchazwa kwangaphambili kusetyenziswa into yeGPUBindGroupLayout.

umthombo: opennet.ru

Yongeza izimvo