Π
Eyona njongo iphambili yeWebGPU kukubonelela ngokhuseleko, olusebenziseka lula, oluphathekayo, kunye nojongano lwenkqubo olukumgangatho ophezulu kwiqonga leWebhu ukuze kunyuswe ubuchwephesha bemizobo ye-3D kunye nesakhono esibonelelwa yinkqubo yegraphics APIs yale mihla, njengeDirect3D 12 kwiWindows, Metal. kwi-macOS, kunye neVulkan kwiLinux. Ngokwengqiqo, iWebGPU yahlukile kwiWebGL ngendlela efanayo neVulkan eyahluke ngayo kwi-OpenGL, kwaye kwangaxeshanye ayisekelwanga kwigraphical API ethile, kodwa ngumaleko wendalo iphela osebenzisa ngokubanzi umgangatho ophantsi ofanayo ofunyenwe kwiVulkan, Isinyithi kunye ne-Direct3D.
IWebGPU ibonelela ngezicelo zeJavaScript ezinomgangatho ophantsi wolawulo kumbutho, ukusetyenzwa, kunye nokuhanjiswa kwemiyalelo kwiGPU, ukulawula izixhobo ezihambelanayo, inkumbulo, iibuffers, izinto zokuthungwa, kunye nokudibanisa imizobo yemifanekiso. Le ndlela ikuvumela ukuba ufezekise ukusebenza okuphezulu kwezicelo zegraphic ngokunciphisa iindleko eziphezulu kunye nokwandisa ukusebenza kakuhle kunye neGPU.
IWebGPU yenza kube lula ukwenza iiprojekthi ezipheleleyo ze-3D ezintsonkothileyo zeWebhu ezingasebenzi zimbi kuneenkqubo ezizimeleyo ezifikelela ngokuthe ngqo kwiVulkan, iMetal okanye iDirect3D, kodwa ingabotshelelwanga kumaqonga athile. I-WebGPU ikwabonelela ngezakhono ezongezelelweyo xa uhambisa iinkqubo zemizobo yendalo kwifom eyenziwe ngewebhu ngokusebenzisa itekhnoloji yeWebAssembly. Ukongeza kwimizobo ye-3D, iWebGPU ikwagubungela amandla anxulumene nokukhuphela izibalo kwi-GPU kunye nokuxhasa uphuhliso lwe-shader. Shaders
I-WebGPU isebenzisa ulawulo oluhlukeneyo lwezixhobo, umsebenzi wokulungiselela, kunye nokuhanjiswa kwemiyalelo kwi-GPU (kwiWebGL, into enye yayijongene nayo yonke into kanye kanye). Iimeko ezintathu ezahlukeneyo zinikiwe:
GPUDevice ekudaleni izixhobo ezifana textures kunye buffers; IGPUCommandEncoder yofakelo lwekhowudi 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.
Umahluko wesibini phakathi kweWebGPU kunye neWebGL yindlela eyahlukileyo yokuphatha 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.
Inqaku lesithathu leWebGPU libizwa ngokuba yimodeli yokubopha, ubukhulu becala
ikhumbuza izixhobo zokuhlanganisa izixhobo ezikhoyo kwiVulkan.
Ukudibanisa izixhobo kunye, i-WebGPU ibonelela ngento ye-GPUBindGroup, enokuthi idibaniswe nezinye izinto ezifanayo zokusetyenziswa kwi-shaders xa 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.
KwiFirefox, ukwenza iWebGPU ibe malunga: config, kukho useto "dom.webgpu.enabled". Unikezelo lweCanvasContext lukwafuna ukuqulunqa ukuba kuvulwe
umthombo: opennet.ru