Ny fanohanana WebGPU dia alefa amin'ny Chrome

Google dia nanambara ny fampidirana ny fanohanan'ny default ho an'ny WebGPU graphics API sy WGSL (WebGPU Shading Language) ao amin'ny Chrome 113, izay nokasaina havoaka amin'ny 2 Mey. WebGPU dia manome interface tsara fandaharana mitovy amin'ny Vulkan, Metal, ary Direct3D 12 ho an'ny fanatanterahana asa amin'ny lafiny GPU toy ny famandrihana sy ny informatika, ary mamela ihany koa ny fampiasana fiteny shader hanoratana programa mandeha amin'ny lafiny GPU. Ny fampiharana WebGPU dia tsy ho alefa afa-tsy amin'ny ChromeOS, macOS ary Windows build. Ho an'ny Linux sy Android, ny fanohanan'ny WebGPU dia alefa any aoriana any.

Ho fanampin'ny Chrome, ny fanohanana andrana amin'ny WebGPU dia nosedraina nanomboka tamin'ny Aprily 2020 tao amin'ny Firefox ary nanomboka tamin'ny Novambra 2021 tao Safari. Mba hahafahan'ny WebGPU amin'ny Firefox dia tokony hametraka ny saina dom.webgpu.enabled sy gfx.webgpu.force-enabled ao amin'ny about:config. Tsy mbola misy drafitra ahafahana mamela ny WebGPU amin'ny alΓ lan'ny default ao amin'ny Firefox sy Safari. Ny fampiharana WebGPU novolavolaina ho an'ny Firefox sy Chrome dia misy amin'ny endrika tranomboky misaraka - Dawn (C++) sy wgpu (Rust), izay azonao ampiasaina hampidirana ny fanohanan'ny WebGPU amin'ny rindranasao. Mandeha ihany koa ny asa hanampiana ny fanohanan'ny WebGPU amin'ny tranomboky JavaScript malaza izay mampiasa ny WebGL. Ohatra, efa nambara tao Babylon.js ny fanohanana feno ho an'ny WebGPU, ary ny fanohanana ampahany amin'ny Three.js, PlayCanvas ary TensorFlow.js.

Amin'ny foto-kevitra, ny WebGPU dia tsy mitovy amin'ny WebGL amin'ny fomba mitovy amin'ny maha-samihafa ny Vulkan graphics API amin'ny OpenGL, fa ny WebGPU dia tsy mifototra amin'ny API grafika manokana, fa sosona manerantany izay mampiasa ireo primitive ambany ambany hita ao amin'ny Vulkan, Metal ary Direct3D. WebGPU dia manome ny fampiharana JavaScript miaraka amin'ny fanaraha-maso ambany kokoa amin'ny fandaminana, ny fanodinana sy ny fandefasana baiko amin'ny GPU, ny fitantanana ny loharano mifandraika, ny fitadidiana, ny buffers, ny zavatra ara-nofo ary ny shaders sary natambatra. Ity fomba fiasa ity dia ahafahanao mahazo fampisehoana ambony kokoa ho an'ny rindranasa sary amin'ny alΓ lan'ny fampihenana ny vidin'ny overhead sy ny fampitomboana ny fahombiazan'ny fiaraha-miasa amin'ny GPU.

Ny WebGPU dia ahafahana mamorona tetikasa 3D sarotra ho an'ny tranonkala izay tsy manao ratsy kokoa noho ny programa tokana izay mampiasa mivantana Vulkan, Metal na Direct3D, saingy tsy mifamatotra amin'ny sehatra manokana. Ny WebGPU koa dia manome fahafaha-manao fanampiny amin'ny fandefasana ny programa kisary teratany amin'ny endrika azo ampiasaina amin'ny tranonkala amin'ny alΓ lan'ny fanangonana ao amin'ny WebAssembly. Ho fanampin'ny sary 3D, ny WebGPU dia misy ihany koa ny fahaiza-manao mifandraika amin'ny famoahana ny kajikajy amin'ny GPU sy ny fanatanterahana shaders.

Ny endri-javatra lehibe amin'ny WebGPU:

  • Fitantanana misaraka ny loharanon-karena, asa fanomanana ary fandefasana baiko amin'ny GPU (ao amin'ny WebGL zavatra iray no tompon'andraikitra amin'ny zava-drehetra indray mandeha). Teboka telo misaraka no omena: GPUDevice ho an'ny famoronana loharanon-karena toy ny textures sy buffers; GPUCommandEncoder ho an'ny famadihana ny baiko tsirairay, ao anatin'izany ny dingan'ny famoahana sy ny kajy; GPUCommandBuffer milahatra ho amin'ny famonoana ny GPU. Ny vokatra dia azo adika amin'ny faritra mifandray amin'ny singa canvas iray na maromaro, na voahodina tsy misy vokatra (ohatra, rehefa manao asa kajy). Ny fanasarahana ireo dingana dia manamora ny fanavahana ny famoronana loharanon-karena sy ny asa fanomanana ho amin'ny mpitantana samihafa izay afaka mandeha amin'ny kofehy samihafa.
  • Fomba hafa amin'ny fanodinana fanjakana. WebGPU dia manolotra zavatra roa - GPURenderPipeline sy GPUComputePipeline, izay ahafahanao manambatra fanjakana isan-karazany nofaritan'ny mpamorona, izay mamela ny navigateur tsy handany loharanon-karena amin'ny asa fanampiny, toy ny famerenana ny shaders. Ny fanjakana tohanana dia misy: shaders, vertex buffer sy laminasa toetra, fisehon'ny vondrona mipetaka, fampifangaroana, halalin'ny lamina, ary endrika famoahana aorian'ny famoahana.
  • Modely mifamatotra mitovy amin'ny endri-javatra fanakambanana loharanon'i Vulkan. Mba hanakambanana loharanon-karena, WebGPU dia manome zavatra GPUBindGroup, izay azo ampifandraisina amin'ny zavatra hafa mitovy amin'izany ho ampiasaina amin'ny shaders rehefa manoratra baiko. Ny famoronana vondrona toy izany dia ahafahan'ny mpamily manatanteraka ireo hetsika fanomanana ilaina mialoha, ary mamela ny navigateur hanova haingana kokoa ny fatoran'ny loharano eo amin'ny antso an-tsary. Ny fisehon'ny famatorana loharanon-karena dia azo faritana mialoha amin'ny fampiasana ny zavatra GPUBindGroupLayout.

Source: opennet.ru

Add a comment