Firefox le Safari ho Fumana tšehetso ea WebGPU

Mozilla e nkile qeto ea ho thusa WebGPU API le WGSL (WebGPU Shading Language) ho Firefox. Bakeng sa sethala sa Windows, tšehetso ea WebGPU e tla nolofalloa ka ho sa feleng ho Firefox 141, e reriloeng ka July 22. Joale, likhoeling tse 'maloa tse latelang, tšehetso ea WebGPU e reriloe ho nolofalloa ho Linux le ho haha ​​macOS, le nako e itseng hamorao ho Android version. Ho bulela WebGPU ka bowena, o ka sebedisa "dom.webgpu.enabled" le "gfx.webrender.all" liparamente leqepheng la about:config.

Ho Chrome, tšehetso ea WebGPU e fanoe ka ho sa feleng ho version 113, e lokollotsoeng ka May 2023. Safari, tšehetso ea WebGPU e reriloe ho nolofalloa ka ho sa feleng ho oa hona (tšehetso ea liteko e fumaneha ho tloha ka November 2021). Ho Firefox, ts'ehetso ea liteko ea WebGPU esale e le teng ho tloha ka 2020, empa e ne e nolofalitsoe feela ka boiketsetso meahong ea bosiu ea Firefox. Ts'ebetso ea WebGPU ea Firefox e ipapisitse le khoutu ea projeke ea WGPU, e ngotsoeng ka Rust 'me e khona ho sebetsa ka holim'a li-API tsa Direct3D 12, Vulkan, OpenGL, le Metal graphics.

WebGPU e fana ka API e tšoanang ho Vulkan, Metal, le Direct3D 12 bakeng sa ho etsa ts'ebetso ka lehlakoreng la GPU. Ntle le lits'oants'o tsa 3D, WebGPU e boetse e akaretsa bokhoni bo amanang le ho theola lipalo ho lehlakoreng la GPU le ho etsa li-shader. Ka kelello, WebGPU e fapana le litlhaloso tsa khale tsa WebGL ka tsela e tšoanang le eo Vulkan Grafiken API e fapaneng le OpenGL. Ka nako e ts'oanang, WebGPU ha e ea ipapisa le API ea litšoantšo tse itseng, empa ke lera la bokahohle le sebelisang li-primitives tsa boemo bo tlaase tse fumanehang Vulkan, Metal, le Direct3D.

WebGPU e nolofalletsa lits'ebetso tsa JavaScript ho laola mokhatlo, ts'ebetso, le phetisetso ea litaelo ho GPU, le ho laola lisebelisoa tse amanang le eona, memori, li-buffers, lintho tse hlophisitsoeng, le li-shader tse hlophisitsoeng tsa litšoantšo. Mokhoa ona o nolofalletsa ts'ebetso e phahameng ea lits'ebetso tsa litšoantšo ka ho fokotsa holimo le ho eketsa bokhoni ba ho sebetsa le GPU.

Ka WebGPU, u ka etsa merero ea agnostic, e rarahaneng ea 3D e sebetsang hammoho le mananeo a ikemetseng a sebelisang Vulkan, Metal, kapa Direct3D ka ho toba. WebGPU e boetse e fana ka bokhoni bo eketsehileng bakeng sa ho tsamaisa mananeo a litšoantšo tsa tlhaho ho foromo e ka sebetsang ho libatli, ka lebaka la ho bokella WebAssembly.

Likarolo tsa bohlokoa tsa WebGPU le liphapang tse tsoang ho WebGL:

  • Tsamaiso e arohaneng ea lisebelisoa, mosebetsi oa ho itokisa le phetisetso ea litaelo ho GPU (ho WebGL ntho e le 'ngoe e ne e ikarabella bakeng sa ntho e' ngoe le e 'ngoe hang-hang). Ho fanoe ka maemo a mararo a arohaneng: GPUDevice bakeng sa ho theha lisebelisoa tse kang libopeho le li-buffers; GPUCommandEncoder bakeng sa ho kenya litaelo tsa motho ka mong, ho kenyelletsa le mekhahlelo ea ho fana le ho bala; GPUCommandBuffer e tla beoa moleng hore e sebelisoe ho GPU. Sephetho se ka fanoa sebakeng se amanang le ntho e le 'ngoe kapa tse ngata tsa canvas, kapa tsa sebetsoa ntle le tlhahiso (mohlala, ha ho etsoa mesebetsi ea komporo). Ho arola mekhahlelo ho etsa hore ho be bonolo ho arola tlhahiso ea lisebelisoa le ts'ebetso ea ho lokisa ho libapali tse fapaneng tse ka sebetsang ka likhoele tse fapaneng.
  • Mokhoa o fapaneng oa ho sebetsana le linaha. WebGPU e fana ka lintho tse peli - GPURenderPipeline le GPUComputePipeline, tse u lumellang hore u kopane le linaha tse fapa-fapaneng tse hlalositsoeng pele ke moqapi, e leng se lumellang sebapali hore se se ke sa senya lisebelisoa mosebetsing o eketsehileng, joalo ka ho khutlisetsa li-shaders. Maemo a tšehelitsoeng a kenyelletsa: li-shader, buffer ea vertex le libopeho tsa sebopeho, litlhophiso tsa lihlopha tse khomarelang, motsoako, botebo le lipaterone, le lifomate tsa tlhahiso ea morao-rao.
  • Moetso o tlamang joalo ka likarolo tsa lihlopha tsa lisebelisoa tsa Vulkan. Ho bokella lisebelisoa hammoho, WebGPU e fana ka ntho ea GPUBindGroup, e ka amahanngoa le lintho tse ling tse tšoanang bakeng sa ho sebelisoa li-shaders ha u ntse u ngola litaelo. Ho theha lihlopha tse joalo ho lumella mokhanni ho etsa liketso tse hlokahalang tsa ho itokisa esale pele, 'me ho lumella sebatli hore se fetole litlamo tsa lisebelisoa lipakeng tsa mehala ea ho hula kapele haholo. Sebopeho sa setlamo sa lisebelisoa se ka hlalosoa esale pele ho sebelisoa ntho ea GPUBindGroupLayout.

Source: opennet.ru

Eketsa ka tlhaloso