O fale Firefox i po uma ua aofia ai le WebGPU lagolago

В po Firefox fausia faaali mai lagolago faʻamatalaga WebGPU, lea e maua ai se atina'e fa'apolokalame mo fa'ata'ita'iga ata 3D ma fa'asologa o le GPU-itu, fa'atusa fa'atusa ma le API. mauga mū, uʻamea и Faʻatonu3D 12. O le faʻamatalaga o loʻo atiaʻe e Mozilla, Google, Apple, Microsoft ma tagata lautele i totonu kulupu galuluefaia e le W3C.

O le sini autu o le WebGPU o le tuʻuina atu lea o se faʻaoga faʻaoga saogalemu, faʻaoga-faʻaoga, feaveaʻi, ma maualuga-faʻatinoga polokalame mo le upega tafaʻilagi e faʻaogaina ai le 3D faʻataʻitaʻiga tekonolosi ma gafatia e tuʻuina atu e API faʻaonaponei faʻaonaponei, e pei o Direct3D 12 i luga o Windows, Metal. i macOS, ma Vulkan i Linux. I le manatu, WebGPU e ese mai WebGL i le auala lava lea e tasi e ese ai Vulkan mai OpenGL, ma i le taimi lava e tasi e le o faʻavae i luga o se API faʻataʻitaʻiga faʻapitoa, ae o se faʻasalalauga lautele e masani ona faʻaaogaina tutusa tulaga maualalo maualalo o loʻo maua i Vulkan, Uamea ma Direct3D.

WebGPU e tuʻuina atu talosaga JavaScript ma faʻatonuga maualalo i luga o le faʻatulagaina, gaioiga, ma le tuʻuina atu o faʻatonuga i le GPU, puleaina o punaoa fesoʻotaʻi, manatua, paʻu, mea faitino, ma faʻapipiʻi ata faʻataʻitaʻiga. O lenei faiga e mafai ai e oe ona ausia le maualuga o le faʻatinoga mo faʻataʻitaʻiga faʻataʻitaʻiga e ala i le faʻaitiitia o tau faʻaalu ma faʻateleina le lelei o le galue ma le GPU.

O le WebGPU e mafai ai ona fatuina ni galuega faʻapitoa 3D faʻapitoa mo le Upega e le sili atu le leaga nai lo polokalame tutoʻatasi e maua saʻo Vulkan, Metal poʻo Direct3D, ae e le o noatia i tulaga faʻapitoa. E maua ai fo'i e le WebGPU avanoa fa'aopoopo pe a tu'uina atu polokalame fa'ata'ita'i fa'apitoa i se fomu fa'aogaina i luga ole laiga e ala ile fa'aogaina ole tekonolosi WebAssembly. I le faʻaopoopoga i ata 3D, WebGPU e aofia ai foʻi le gafatia e fesoʻotaʻi ma le faʻaogaina o faʻatusatusaga i le GPU ma le lagolagoina o le atinaʻeina o shader. Paolo atonu ia faia i le WebGPU Shading Language poʻo le faʻamaonia i le SPIR-V faʻatulagaina, ona faʻaliliuina lea i gagana faʻafefeteina e lagolagoina e avetaavale o loʻo iai nei.

WebGPU faʻaaogaina le tuʻufaʻatasia o le puleaina o punaoa, galuega sauniuni, ma le tuʻuina atu o poloaiga i le GPU (i le WebGL, e tasi le mea e nafa ma mea uma i le taimi e tasi). E tolu tulaga eseese ua saunia:
GPUDevice mo le fatuina o punaoa e pei o lanu ma paʻu; GPUCommandEncoder mo le fa'avasegaina o fa'atonuga ta'ito'atasi, e aofia ai le fa'aliliuina ma le fa'atulagaina o la'asaga; GPUCommandBuffer e tuʻuina mo le faʻatinoina i luga o le GPU. O le i'uga e mafai ona tu'uina atu i se vaega e feso'ota'i ma se tasi pe sili atu elemene tapoleni, po'o le fa'agaioia e aunoa ma se mea e maua (fa'ata'ita'iga, pe a fa'atino galuega fa'atatau). O le tuueseeseina o laasaga e faafaigofie ai ona tuueseeseina le gaosiga o punaoa ma galuega sauniuni i tagata eseese e mafai ona tamoe i luga o filo eseese.

O le eseesega lona lua i le va o WebGPU ma WebGL o se auala ese i le taulimaina o setete. WebGPU e ofoina atu ni mea se lua - GPURenderPipeline ma GPUComputePipeline, lea e mafai ai e oe ona tuʻufaʻatasia setete eseese na muaʻi faʻamalamalamaina e le atinaʻe, lea e mafai ai e le browser ona le faʻaumatia punaoa i galuega faaopoopo, e pei o le toe faʻaleleia o shaders. O setete lagolago e aofia ai: shaders, vertex buffer ma uiga faʻatulagaina, faʻapipiʻi kulupu faʻapipiʻi, faʻafefiloi, loloto ma mamanu, ma faʻasologa o galuega faatino pe a uma ona tuʻuina atu.

O le vaega lona tolu o WebGPU ua taʻua o le faʻataʻitaʻiga faʻataʻitaʻiga, tele
toe fa'amanatu mai mea faigaluega fa'avasegaina o lo'o iai i Vulkan.
Ina ia faʻapotopoto faʻatasi punaoa, WebGPU e tuʻuina atu se mea GPUBindGroup, lea e mafai ona fesoʻotaʻi ma isi mea tutusa mo le faʻaogaina i shaders aʻo tusia poloaiga. O le fatuina o ia vaega e mafai ai e le aveta'avale ona faia ni sauniuniga talafeagai i le taimi muamua, ma fa'atagaina le su'esu'ega e suia le fa'aogaina o puna'oa i le va o le telefoni fa'atosina vave. E mafai ona mua'i fa'auigaina le fa'atulagaina o feso'ota'iga a le GPUBindGroupLayout.

O fale Firefox i po uma ua aofia ai le WebGPU lagolago

I Firefox, ina ia mafai ai le WebGPU ile: config, o loʻo i ai se seti "dom.webgpu.enabled". O le fa'aliliuina o le CanvasContext e mana'omia fo'i le tu'ufa'atasi ina ia mafai WebRender (“gfx.webrender.all” i le about:config), tusia i le Rust ma le outsourcing page content rendering operations to the GPU. WebGPU faʻatinoga e faʻavae i luga ole tulafono ole poloketi
wgpu, tusia i le Rust ma mafai ona tamomoe i luga o le DX12, Vulkan ma Metal API i luga o Linux, Android, Windows ma macOS (DX11 ma OpenGL ES 3.0 lagolago o loʻo i ai foi i le atinaʻeina). I se tulaga tutusa, Google o loʻo atiaʻe se isi faʻatinoga, o loʻo avanoa i totonu lala Canary Chromium ma e mafai ona faʻaaoga le fuʻa "chrome://flags/#enable-unsafe-webgpu", ae o loʻo galue nei i macOS ma Windows.

puna: opennet.ru

Faaopoopo i ai se faamatalaga