W3C paraqiti një version të parë të skemës WebGPU

Konsorciumi W3C paraqiti draftet e para të specifikimeve WebGPU dhe WebGPU Shading Language (WGSL), që përcaktojnë API për ekzekutimin e operacioneve në GPU, të tilla si renderimi dhe llogaritjet, si dhe një gjuhë shaders për të shkruar programe që funksionojnë në anën e GPU. Kjo është konceptualisht e ngjashme me API-të Vulkan, Metal dhe Direct3D 12. Specifikimet janë përgatitur nga një grup pune, i cili përfshin inxhinierë nga Mozilla, Google, Apple dhe Microsoft.

Koncespualisht, WebGPU ndryshon nga WebGL në një mënyrë të ngjashme me diferencën midis API-të grafike Vulkan dhe OpenGL, por nuk është e bazuar në një API të caktuar grafik, por përfaqëson një shtresë universale që përdor të njëjtat primitive të nivelit të ulët që gjenden në Vulkan, Metal dhe Direct3D. WebGPU i ofron aplikacioneve në JavaScript mjete për kontroll të nivelit të ulët mbi organizimin, përpunimin dhe dërgimin e komandeve në GPU, menaxhimin e burimeve të lidhura, kujtesën, buferët, objektet e teksturave dhe shaders të kompiluar grafik. Qasja e tillë lejon arritjen e performancës më të lartë të aplikacioneve grafike përmes uljes së kostove dhe rritjes së efektivitetit të punës me GPU.

WebGPU mundëson krijimin e projekteve komplekse 3D për Web, të cilat kanë performancë të ngjashme me programet autonome që komunikojnë drejtpërdrejt me Vulkan, Metal ose Direct3D, por nuk janë të lidhura me platforma të caktuara. WebGPU gjithashtu ofron mundësi shtesë në portimin e programeve grafike natyrore në formën që është e aftë të funksionojë mbi teknologjitë web, përmes kompilimit në WebAssembly. Përveç grafikës 3D, WebGPU mbulon gjithashtu mundësi të lidhura me shfrytëzimin e llogaritjeve në anën e GPU dhe ekzekutimin e shaders.

Karakteristikat kryesore të WebGPU:

  • Menaxhimi i ndarĂ« i burimeve, punĂ«ve pĂ«rgatitore dhe transferimit tĂ« komandave nĂ« GPU (nĂ« WebGL njĂ« objekt iu pĂ«rgjigj tĂ« gjitha nĂ« tĂ« njĂ«jtĂ«n kohĂ«). Ofron tre kontekste tĂ« veçanta: GPUDevice pĂ«r krijimin e burimeve, si teksturat dhe tamponĂ«t; GPUCommandEncoder pĂ«r kodimin e komandave tĂ« veçanta, duke pĂ«rfshirĂ« fazat e renderimit dhe llogaritjes; GPUCommandBuffer pĂ«r t'u dĂ«rguar pĂ«r ekzekutim nĂ« GPU. Rezultati mund tĂ« vizatohet nĂ« njĂ« zonĂ« tĂ« lidhur me njĂ« ose mĂ« shumĂ« elemente canvas, ose tĂ« pĂ«rpunuar pa dalĂ« (pĂ«r shembull, gjatĂ« kryerjes sĂ« detyrave llogaritĂ«se). Ndarja e fazave lehtĂ«son ndarjen e krijimit tĂ« burimeve dhe operacioneve pĂ«rgatitore nĂ« menaxherĂ« tĂ« ndryshĂ«m, tĂ« cilĂ«t mund tĂ« ekzekutohen nĂ« Threads tĂ« ndryshme.
  • NjĂ« qasje tjetĂ«r pĂ«r procesimin e gjendjeve. NĂ« WebGPU ofrohen dy objekte — GPURenderPipeline dhe GPUComputePipeline, qĂ« mundĂ«sojnĂ« kombinimin e gjendjeve tĂ« ndryshme, tĂ« paracaktuara nga zhvilluesi, duke i dhĂ«nĂ« mundĂ«sinĂ« shfletuesit qĂ« tĂ« mos shpenzojĂ« burime nĂ« kryerjen e punĂ«ve shtesĂ«, tĂ« tilla si rikompilimi i shaderĂ«ve. NdĂ«r gjendjet e mbĂ«shtetura: shaderĂ«t, pĂ«rshkrimet e tamponĂ«ve tĂ« verge dhe atributeve, pĂ«rshkrimet e grupeve tĂ« lidhura, pĂ«rzierja, thellĂ«sia dhe masat, format e daljes pas renderimit.
  • Modeli i lidhjeve, i ngjashĂ«m me mjetet e grupimit tĂ« burimeve tĂ« pranishme nĂ« Vulkan. PĂ«r tĂ« bashkuar burimet nĂ« grupe, WebGPU ofron objektin GPUBindGroup, i cili gjatĂ« regjistrimit tĂ« komandave mund tĂ« lidhet me objekte tĂ« tjera tĂ« ngjashme pĂ«r t'u pĂ«rdorur nĂ« shaderĂ«. Krijimi i grupeve tĂ« tilla i jep mundĂ«sinĂ« drejtuesit qĂ« tĂ« kryejĂ« paraprakisht veprimet pĂ«rgatitore tĂ« nevojshme, dhe shfletuesit i lejon tĂ« ndryshojĂ« ndĂ«rlidhjet e burimeve shumĂ« mĂ« shpejt midis thirrjeve tĂ« renderimit. ShpĂ«rndarja e ndĂ«rlidhjeve tĂ« burimeve mund tĂ« pĂ«rcaktohet paraprakisht duke pĂ«rdorur objektin GPUBindGroupLayout.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster