Taageerada WebGPU waxa ay ka shaqayn doontaa Chrome

Google ayaa ku dhawaaqday taageerada caadiga ah ee WebGPU garaafyada API iyo WebGPU Shading Language (WGSL) gudaha Chrome 113, kaas oo loo qorsheeyay in la sii daayo May 2. WebGPU waxay bixisaa API la mid ah Vulkan, Birta, iyo Direct3D 12 ee fulinta hawlaha GPU-da sida samaynta iyo xisaabinta, iyo sidoo kale kuu ogolaanayaa inaad isticmaasho luqad hadh si aad u qorto barnaamijyada GPU-side. Hirgelinta WebGPU waxa kaliya oo loo sahlayaa marka hore in loo dhiso ChromeOS, macOS, iyo Windows. Linux iyo Android, taageerada WebGPU waa la hawlgelin doonaa wakhti dambe.

Marka lagu daro Chrome, taageerada tijaabada ah ee WebGPU ayaa lagu tijaabiyay tan iyo Abriil 2020 gudaha Firefox iyo ilaa Noofambar 2021 gudaha Safari. Si aad ugu suurtageliso WebGPU gudaha Firefox, dhig dom.webgpu.enabled iyo gfx.webgpu.force-enabled calamada ku saabsan: config. Ma jiraan wax qorshayaal ah oo loogu suurtagelinayo WebGPU si caadi ah Firefox iyo Safari weli. Hirgelinta WebGPU ee loo sameeyay Firefox iyo Chrome waxaa lagu heli karaa qaab maktabado gaar ah - Dawn (C++) iyo wgpu (Rust), kuwaas oo aad isticmaali karto si aad ugu dhexgeliso taageerada WebGPU codsiyadaada. Shaqada ayaa sidoo kale socota si loogu daro taageerada WebGPU maktabadaha caanka ah ee JavaScript ee asalka ah iyadoo la adeegsanayo WebGL. Tusaale ahaan, taageerada buuxda ee WebGPU ayaa mar hore lagaga dhawaaqay Babylon.js, iyo taageero qayb ah Three.js, PlayCanvas iyo TensorFlow.js.

Fikrad ahaan, WebGPU waxay kaga duwan tahay WebGL si la mid ah sida Vulkan garaafyada API uga duwan yahay OpenGL, laakiin WebGPU kuma salaysna API garaafyo gaar ah, laakiin waa lakab ujeedo guud ah oo isticmaala isla heerarka hoose ee asalka ah ee laga helo Vulkan, Birta, iyo Direct3D. WebGPU waxay siisaa codsiyada JavaScript oo leh kontorool hoose oo ku saabsan ururka, habaynta iyo gudbinta amarada GPU-da, maaraynta agabka la xidhiidha, xusuusta, kaydinta, walxaha texture, iyo hadhka garaafyada la soo ururiyey. Habkani wuxuu kuu ogolaanayaa inaad ku guulaysato codsiyada garaafyada waxqabadka sare adiga oo yareynaya kharashka iyo kordhinta waxtarka GPU.

WebGPU waxay suurtogal ka dhigtaa in loo abuuro mashruucyo 3D adag oo loogu talagalay Shabakadda ka shaqeeya iyo sidoo kale barnaamijyo gooni-gooni ah oo si toos ah u isticmaala Vulkan, Metal ama Direct3D, laakiin aan ku xidhnayn goobo gaar ah. WebGPU waxa kale oo ay bixisaa doorashooyin dheeraad ah oo loogu gudbinayo barnaamijyada garaafyada asalka ah foom karti u leh shabakadda iyada oo la ururinayo WebAssembly. Marka lagu daro garaafyada 3D, WebGPU waxa kale oo ay dabooshaa fursadaha la xidhiidha xisaabinta u rarida dhinaca GPU iyo fulinta hadhka.

Astaamaha muhiimka ah ee WebGPU:

  • Maareynta kala duwan ee ilaha, shaqada diyaarinta iyo gudbinta amarada GPU-da (WebGL, hal shay ayaa mas'uul ka ahaa wax walba hal mar). Saddex arrimood oo kala duwan ayaa la bixiyaa: Qalabka GPU ee abuurista agabka sida textures iyo baffers; GPUCommandEncoder si loo codeeyo amarada gaarka ah, oo ay ku jiraan samaynta iyo heerarka xisaabinta; GPUCommandBuffer si loogu gudbo safka orodka GPU. Natiijadu waxay noqon kartaa meel la xidhiidha hal ama in ka badan canvas, ama la samayn karaa iyada oo aan la soo saarin (tusaale ahaan, marka la wado hawlaha xisaabinta). Kala-saarista heerarku waxay sahlaysaa in la kala saaro kheyraadka abuurista iyo bixinta hawlgallada loo kala saaro maamulayaal kala duwan oo ku socon kara dunta kala duwan.
  • Hab ka duwan wax ka qabashada dawladaha. WebGPU waxay bixisaa laba walxood - GPURenderPipeline iyo GPUComputePipeline, kuwaas oo kuu oggolaanaya inaad isku geyso gobollo kala duwan oo uu horay u qeexay horumariyaha, taas oo suurtogal ka dhigaysa in browserku uusan ku lumin kheyraadka shaqo dheeraad ah, sida dib u habeynta shaders. Dawladaha la taageero waxaa ka mid ah: hadhka, duleelka dhabarka iyo qaabaynta sifada, qaabaynta kooxeed dhegdheg, isku darka, qoto dheer iyo qaababka, qaababka wax soo saarka kadib.
  • Qaab isku xidhan, oo la mid ah agabka kooxaynta khayraadka Vulkan. Si loo kooxeeyo agabka kooxo, WebGPU waxay bixisaa shay GPUBindGroup, kaas oo, wakhtiga qorista amarrada, lala xidhiidhin karo walxaha kale ee la midka ah ee loo isticmaalo hadhka. Abuuritaanka kooxaha noocan oo kale ah waxay u ogolaataa darawalka inuu horay u sameeyo ficilada diyaarinta ee lagama maarmaanka ah, waxayna u ogolaataa browserka inuu bedelo isku xirka kheyraadka ee u dhexeeya wicitaanada soo jiidashada si dhakhso ah. Nashqada isku xidhka ilaha waxa lagu sii qeexi karaa iyadoo la isticmaalayo shayga GPUBindGroupLayout.

Source: opennet.ru

Add a comment