В
Is e prìomh amas WebGPU eadar-aghaidh prògramaidh tèarainte, furasta a chleachdadh, so-ghiùlain agus àrd-choileanadh a thoirt seachad airson an àrd-ùrlar lìn gus na teicneòlasan grafaiceachd 3D agus na comasan a tha air an toirt seachad le APIan grafaigean siostam an latha an-diugh, leithid Direct3D 12 air Windows, Metal a luathachadh. air macOS, agus Vulkan air Linux. Gu bun-bheachdail, tha WebGPU eadar-dhealaichte bho WebGL anns an aon dòigh sa bheil Vulkan eadar-dhealaichte bho OpenGL, agus aig an aon àm chan eil e stèidhichte air API grafaigean sònraichte, ach tha e na shreath uile-choitcheann a bhios mar as trice a’ cleachdadh na h-aon phrìomhairean ìre ìosal a lorgar ann an Vulkan, Mheatailt agus direct3d.
Tha WebGPU a’ toirt smachd aig ìre nas ìsle do thagraidhean JavaScript air eagrachadh, giullachd, agus tar-chur òrdughan chun GPU, a’ riaghladh ghoireasan co-cheangailte, cuimhne, bufairean, nithean inneach, agus sgàilearan grafaiceachd cruinnichte. Tha an dòigh-obrach seo a 'toirt cothrom dhut coileanadh nas àirde a choileanadh airson tagraidhean grafaic le bhith a' lùghdachadh cosgaisean os cionn agus a 'meudachadh èifeachdas a bhith ag obair leis an GPU.
Tha WebGPU ga dhèanamh comasach pròiseactan 3D iom-fhillte làn-chuimseach a chruthachadh airson an Lìon nach obraich nas miosa na prògraman leotha fhèin a gheibh cothrom dìreach air Vulkan, Metal no Direct3D, ach nach eil ceangailte ri àrd-ùrlaran sònraichte. Bidh WebGPU cuideachd a’ toirt seachad comasan a bharrachd nuair a thathar a’ giùlain phrògraman grafaigean dùthchasach gu cruth a tha comasach air an lìon tro bhith a’ cleachdadh teicneòlas WebAssembly. A bharrachd air grafaigean 3D, tha WebGPU cuideachd a’ còmhdach comasan co-cheangailte ri bhith a’ luchdachadh àireamhachadh chun GPU agus a’ toirt taic do leasachadh shader. Shaders
Bidh WebGPU a’ cleachdadh stiùireadh ghoireasan air leth, obair ullachaidh, agus tar-chur òrdughan chun GPU (ann an WebGL, bha uallach air aon nì airson a h-uile càil aig an aon àm). Tha trì co-theacsan eadar-dhealaichte air an toirt seachad:
Inneal GPU airson goireasan a chruthachadh leithid inneach agus bufairean; GPUCommandEncoder airson òrdughan fa leth a chòdachadh, a’ gabhail a-steach ìrean tairgse agus àireamhachadh; GPUCommandBuffer ri ciudha airson a chur gu bàs air an GPU. Faodar an toradh a thoirt seachad ann an raon co-cheangailte ri aon no barrachd eileamaidean canabhas, no a phròiseasadh gun toradh (mar eisimpleir, nuair a bhios tu a’ ruith gnìomhan coimpiutaireachd). Le bhith a’ sgaradh nan ìrean ga dhèanamh nas fhasa obair cruthachaidh is ullachaidh ghoireasan a sgaradh gu diofar làimhseachadh a dh’ fhaodas ruith air diofar snàithleanan.
Is e an dàrna eadar-dhealachadh eadar WebGPU agus WebGL dòigh-obrach eadar-dhealaichte airson làimhseachadh stàitean. Tha WebGPU a’ tabhann dà rud - GPURenderPipeline agus GPUComputePipeline, a leigeas leat diofar stàitean a chuir còmhla ro-mhìnichte leis an leasaiche, a leigeas leis a’ bhrobhsair gun a bhith a’ caitheamh ghoireasan air obair a bharrachd, leithid ath-chruinneachadh shaders. Tha stàitean le taic a’ toirt a-steach: shaders, bufair vertex agus dealbhadh buadhan, dealbhadh buidhne steigeach, measgachadh, doimhneachd agus pàtrain, agus cruthan toraidh iar-render.
Canar am modail ceangail ris an treas feart de WebGPU, gu ìre mhòr
mar chuimhneachan air na h-innealan cruinneachadh ghoireasan a tha an làthair ann an Vulkan.
Gus goireasan a chuir còmhla, tha WebGPU a’ toirt seachad rud GPUBindGroup, a dh’ fhaodar a cheangal ri nithean eile den aon seòrsa airson an cleachdadh ann an sgàilearan fhad ‘s a tha iad a’ sgrìobhadh òrdughan. Le bhith a’ cruthachadh bhuidhnean mar seo leigidh an draibhear na gnìomhan ullachaidh riatanach a dhèanamh ro-làimh, agus leigidh e leis a’ bhrobhsair ceanglaichean ghoireasan atharrachadh eadar gairmean tarraing mòran nas luaithe. Faodar cruth ceangail ghoireasan a ro-mhìneachadh le bhith a’ cleachdadh an nì GPUBindGroupLayout.
Ann am Firefox, gus WebGPU a chomasachadh ann an about:config, tha suidheachadh “dom.webgpu.enabled”. Feumaidh rendering CanvasContext cuideachd a bhith air a chomasachadh
Source: fosgailtenet.ru