Zomanga za Firefox usiku zimaphatikizanso thandizo la WebGPU

В usiku Firefox imapangidwa adawonekera chithandizo chatsatanetsatane WebGPU, yomwe imapereka mawonekedwe a mapulogalamu a 3D graphics processing ndi GPU-side computing, yofanana ndi API chamoto, zitsulo и Kulunjika3. Mafotokozedwewa akupangidwa ndi Mozilla, Google, Apple, Microsoft ndi anthu ammudzi gulu logwira ntchito, yopangidwa ndi bungwe la W3C.

Cholinga chachikulu cha WebGPU ndikupanga mawonekedwe otetezeka, osavuta, onyamulika komanso ogwira ntchito bwino kwambiri ogwiritsa ntchito ukadaulo wazithunzi za 3D ndi luso loperekedwa ndi ma API amakono azithunzi zamakina, monga Direct3D 12 pa nsanja yapaintaneti. Windows, Chitsulo mu macOS ndi Vulkan mu LinuxMwa lingaliro, WebGPU imasiyana ndi WebGL mofanana kwambiri ndi momwe Vulkan imasiyanira ndi OpenGL. Sizimachokera pa API yeniyeni ya zithunzi, koma ndi gawo lapadziko lonse lomwe nthawi zambiri limagwiritsa ntchito zinthu zoyambira zomwezo zomwe zimapezeka mu Vulkan, Metal, ndi Direct3D.

WebGPU imapereka mapulogalamu a JavaScript omwe ali ndi mphamvu zochepa pa bungwe, kukonza, ndi kutumiza malamulo ku GPU, kuyang'anira zinthu zomwe zimagwirizana, kukumbukira, zosungira, zinthu zamtundu, ndi zojambula zojambula zojambula. Njirayi imakuthandizani kuti mukwaniritse magwiridwe antchito apamwamba pakugwiritsa ntchito zithunzi pochepetsa mtengo wapamwamba komanso kukulitsa luso logwira ntchito ndi GPU.

WebGPU imapangitsa kuti pakhale mapulojekiti amtundu wa 3D a Webusaiti omwe sagwira ntchito moyipa kuposa mapulogalamu odziyimira okha omwe amapeza mwachindunji Vulkan, Metal kapena Direct3D, koma osamangiriridwa pamapulatifomu enieni. WebGPU imaperekanso luso lowonjezera poyika mapulogalamu azithunzi mu mawonekedwe olumikizidwa ndi intaneti pogwiritsa ntchito ukadaulo wa WebAssembly. Kuphatikiza pazithunzi za 3D, WebGPU imaphatikizanso kuthekera kokhudzana ndi kutsitsa kuwerengera ku GPU ndikuthandizira chitukuko cha shader. Shaders mwina kupangidwa mu WebGPU Shading Language kapena kufotokozedwa mumtundu wapakatikati wa SPIR-V, kenako kumasuliridwa m'zilankhulo za shader zothandizidwa ndi madalaivala apano.

WebGPU imagwiritsa ntchito kasamalidwe kosiyana kazinthu, ntchito yokonzekera, ndi kutumiza malamulo ku GPU (mu WebGL, chinthu chimodzi chinali ndi udindo pa chilichonse nthawi imodzi). Magawo atatu osiyana amaperekedwa:
GPUDevice popanga zinthu monga mawonekedwe ndi mabafa; GPUCommandEncoder pakusunga malamulo apawokha, kuphatikiza magawo operekera ndi kuwerengera; GPUCommandBuffer kuti ayimilire pamzere kuti aphedwe pa GPU. Zotsatira zake zitha kuperekedwa m'dera lomwe limalumikizidwa ndi chinthu chimodzi kapena zingapo za canvas, kapena kukonzedwa popanda kutulutsa (mwachitsanzo, mukamagwira ntchito zowerengera). Kulekanitsa masitepe kumapangitsa kuti zikhale zosavuta kulekanitsa ntchito zopangira zida ndikukonzekera kukhala zogwirira ntchito zosiyanasiyana zomwe zimatha kuyenda pazingwe zosiyanasiyana.

Kusiyana kwachiwiri pakati pa WebGPU ndi WebGL ndi njira yosiyana yoyendetsera mayiko. WebGPU imapereka zinthu ziwiri - GPURenderPipeline ndi GPUComputePipeline, zomwe zimakulolani kuti muphatikize mayiko osiyanasiyana omwe atchulidwa kale ndi wopanga mapulogalamu, omwe amalola msakatuli kuti asawononge chuma pa ntchito yowonjezera, monga kubwezera shaders. Maiko othandizidwa ndi awa: shaders, vertex buffer ndi mawonekedwe ake, masanjidwe amagulu omata, kuphatikiza, kuya ndi mapatani, ndi mawonekedwe otulutsa pambuyo popereka.

Gawo lachitatu la WebGPU limatchedwa mtundu womangirira, makamaka
kukumbukira zida zogawira zida zomwe zilipo mu Vulkan.
Kuti muphatikize zinthu pamodzi, WebGPU imapereka chinthu cha GPUBindGroup, chomwe chitha kulumikizidwa ndi zinthu zina zofananira kuti zigwiritsidwe ntchito mumithunzi polemba malamulo. Kupanga magulu oterowo kumalola dalaivala kuchita zofunikira zokonzekera pasadakhale, ndipo amalola msakatuli kuti asinthe zomangira pakati pa ma foni ojambulira mwachangu kwambiri. Mapangidwe a zomangira zothandizira akhoza kufotokozedwatu pogwiritsa ntchito chinthu cha GPUBindGroupLayout.

Zomanga za Firefox usiku zimaphatikizanso thandizo la WebGPU

Mu Firefox, kuti mutsegule WebGPU pafupifupi: config, pali "dom.webgpu.enabled". Kupereka kwa CanvasContext kumafunanso kuyika kuti kuyatsidwa WebRender ("gfx.webrender.all" pafupifupi: config), yolembedwa mu Rust ndi kutulutsa masamba omwe akupereka ntchito ku GPU. Kukhazikitsa kwa WebGPU kumatengera nambala ya polojekiti
wgpu, yolembedwa mu Rust ndipo imatha kugwira ntchito pamwamba pa DX12, Vulkan ndi Metal APIs mu Linux, Android, Windows и macOS (Chithandizo cha DX11 ndi OpenGL ES 3.0 chikuchitikanso.) Google ikupanganso njira ina yogwiritsira ntchito, yomwe ikupezeka mu Nthambi ya Canary Chromium imayatsidwa pogwiritsa ntchito chizindikiro cha "chrome://flags/#enable-unsafe-webgpu", koma imagwira ntchito mu macOS и Windows.

Source: opennet.ru

Gulani kuchititsa kodalirika kwamasamba okhala ndi chitetezo cha DDoS, ma seva a VPS VDS Gulani malo odalirika osungira mawebusayiti okhala ndi chitetezo cha DDoS, ma seva a VPS VDS | ProHoster