Tha togail oidhche Firefox a-nis a’ toirt a-steach taic WebGPU

В oidhche Tha Firefox a’ togail nochdadh taic sònrachadh lìn GPU, a bheir seachad eadar-aghaidh prògramadh airson giullachd grafaigean 3D agus coimpiutaireachd taobh GPU, gu bun-bheachdail coltach ris an API Vulkan, Metal и Direct 3d 12. Tha an sònrachadh ga leasachadh le Mozilla, Google, Apple, Microsoft agus buill coimhearsnachd ann an buidheann-obrach, air a chruthachadh leis a’ bhuidheann W3C.

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 's dòcha a chruthachadh ann an WebGPU Shading Language no a shònrachadh ann an cruth eadar-mheadhanach SPIR-V, agus an uairsin eadar-theangachadh gu cànanan shader le taic bho dhraibhearan gnàthach.

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.

Tha togail oidhche Firefox a-nis a’ toirt a-steach taic WebGPU

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 WebRender (“gfx.webrender.all” ann an about:config), sgrìobhte ann an Rust agus a’ toirt a-mach gnìomhachd susbaint duilleag a-mach don GPU. Tha buileachadh WebGPU stèidhichte air còd pròiseict
wgpu, sgrìobhte ann an Rust agus comasach air ruith air mullach na APIan DX12, Vulkan agus Metal air Linux, Android, Windows agus macOS (tha taic DX11 agus OpenGL ES 3.0 ga leasachadh cuideachd). Aig an aon àm, tha Google a’ leasachadh buileachadh eile, a tha ri fhaighinn ann an Meur Canary Chromium agus tha e air a chomasachadh le bhith a’ cleachdadh a’ bhratach “chrome://flags/#enable-unsafe-webgpu”, ach gu ruige seo chan obraich e ach air macOS agus Windows.

Source: fosgailtenet.ru

Cuir beachd ann