Ny fanohanan'ny WebGPU dia nanampy tamin'ny fananganana Firefox isan'alina

Π’ alina Firefox manorina niseho fanohanana manokana WebGPU, izay manome interface tsara fandaharana ho an'ny fanodinana sary 3D sy informatika amin'ny lafiny GPU, mitovy hevitra amin'ny API volkano, Metal ΠΈ Direct3D 12. Ny famaritana dia novolavolain'i Mozilla, Google, Apple, Microsoft ary ireo mpikambana ao amin'ny vondrom-piarahamonina vondrona miasa, noforonin'ny fikambanana W3C.

Ny tanjona fototra amin'ny WebGPU dia ny manome interface tsara fandaharana azo antoka, mora ampiasaina, azo entina ary mahomby ho an'ny sehatra Web mba hampiasana ny teknolojia sy ny fahaiza-manao sary 3D omen'ny API rafitra maoderina, toy ny Direct3D 12 amin'ny Windows, Metal. amin'ny macOS, ary Vulkan amin'ny Linux. Amin'ny foto-kevitra, ny WebGPU dia tsy mitovy amin'ny WebGL amin'ny fomba mitovy amin'ny maha-samihafa an'i Vulkan amin'ny OpenGL, ary miaraka amin'izay koa dia tsy mifototra amin'ny API grafika manokana izy io, fa sosona manerantany izay mampiasa ny primitive ambany ambany hita ao amin'ny Vulkan, Metal sy Direct3D.

WebGPU dia manome ny rindranasa JavaScript miaraka amin'ny fanaraha-maso ambany kokoa amin'ny fandaminana, ny fanodinana ary ny fandefasana baiko amin'ny GPU, ny fitantanana ireo loharano mifandraika amin'izany, 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 be pitsiny feno ho an'ny Internet izay miasa tsy ratsy noho ny programa tokana izay miditra mivantana amin'ny Vulkan, Metal na Direct3D, saingy tsy mifamatotra amin'ny sehatra manokana. Manome fahafaha-manao fanampiny ihany koa ny WebGPU rehefa mamindra ny programa kisary teratany amin'ny endrika azo ampiasaina amin'ny tranonkala amin'ny alΓ lan'ny fampiasana ny teknolojia WebAssembly. Ho fanampin'ny sary 3D, ny WebGPU dia mirakitra ny fahaiza-manao mifandraika amin'ny famoahana ny kajy amin'ny GPU sy ny fanohanana ny fivoaran'ny shader. Shaders afaka noforonina ao amin'ny WebGPU Shading Language na voafaritra amin'ny endrika SPIR-V intermediate, ary avy eo adika amin'ny fiteny shader tohanan'ny mpamily ankehitriny.

WebGPU dia mampiasa fitantanana misaraka amin'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). Contexte telo samihafa no omena:
GPUDevice amin'ny famoronana loharano toy ny haingon-trano sy ny buffer; 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.

Ny fahasamihafana faharoa eo amin'ny WebGPU sy WebGL dia fomba hafa amin'ny fitantanana 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.

Ny endri-javatra fahatelo amin'ny WebGPU dia antsoina hoe modely mifatotra, amin'ny ankapobeny
mampahatsiahy ny fitaovana fanangonana loharanon-karena misy ao amin'ny 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.

Ny fanohanan'ny WebGPU dia nanampy tamin'ny fananganana Firefox isan'alina

Ao amin'ny Firefox, mba ahafahan'ny WebGPU ao amin'ny: config, misy ny "dom.webgpu.enabled". Ny fanaovana CanvasContext dia mitaky ny fampifandraisana mba ho alefa WebRender (β€œgfx.webrender.all” ao amin'ny about:config), voasoratra ao amin'ny Rust sy ny votoatin'ny pejy outsourcing amin'ny fanaovana asa ho an'ny GPU. Ny fampiharana WebGPU dia mifototra amin'ny kaody tetikasa
wgpu, nosoratana tamin'ny Rust ary afaka mandeha an-tampon'ny DX12, Vulkan ary Metal API amin'ny Linux, Android, Windows ary macOS (eo am-pandrosoana ihany koa ny fanohanan'ny DX11 sy OpenGL ES 3.0). Miaraka amin'izany, Google dia mamolavola fampiharana hafa, izay hita ao sampana canary Chromium ary alefa amin'ny fampiasana ny saina "chrome://flags/#enable-unsafe-webgpu", saingy amin'ny macOS sy Windows ihany no miasa hatramin'izao.

Source: opennet.ru

Add a comment