Firefox เปเบฅเบฐ Safari เป€เบžเบทเปˆเบญเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ WebGPU

Mozilla เป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบชเบฐเปœเบฑเบšเบชเบฐเปœเบนเบ™ WebGPU API เปเบฅเบฐ WGSL (WebGPU Shading Language) เปƒเบ™ Firefox. เบชเบณเบฅเบฑเบšเปเบžเบฅเบ”เบŸเบญเบก Windows เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš WebGPU เบˆเบฐเบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™ Firefox 141, เป€เบŠเบดเปˆเบ‡เบเบณเบ™เบปเบ”เป„เบงเป‰เปƒเบ™เบงเบฑเบ™เบ—เบต 22 เบเปเบฅเบฐเบเบปเบ”. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš WebGPU เบˆเบฐเบ–เบทเบเบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบตเบ”เปƒเบŠเป‰เปƒเบ™ builds เบชเบณเบฅเบฑเบšเป€เบ”เบทเบญเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰: Linux ะธ macOS, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเป„เบฅเบเบฐเปœเบถเปˆเบ‡เปƒเบ™เบฅเบธเป‰เบ™เบชเบณเบฅเบฑเบšเปเบžเบฅเบ”เบŸเบญเบก Androidเป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบŠเป‰ WebGPU เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต "dom.webgpu.enabled" เปเบฅเบฐ "gfx.webrender.all" เปƒเบ™เปœเป‰เบฒ about:config.

เปƒเบ™ Chrome, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ WebGPU เป„เบ”เป‰เบ–เบทเบเบชเบฐเป€เบซเบ™เบตเป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™เบฎเบธเปˆเบ™ 113, เบ›เปˆเบญเบเบญเบญเบเบกเบฒเปƒเบ™เป€เบ”เบทเบญเบ™เบžเบถเบ”เบชเบฐเบžเบฒ 2023. เปƒเบ™ Safari, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ WebGPU เป„เบ”เป‰เบ–เบทเบเบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™เบฅเบถเบฐเป€เบšเบดเปˆเบ‡เปƒเบšเป„เบกเป‰เบฅเปˆเบงเบ‡เบ™เบตเป‰ (เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เบกเบตเบขเบนเปˆเบ•เบฑเป‰เบ‡เปเบ•เปˆเป€เบ”เบทเบญเบ™เบžเบฐเบˆเบดเบ 2021). เปƒเบ™ Firefox, เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš WebGPU เปเบกเปˆเบ™เบกเบตเบกเบฒเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ›เบต 2020, เปเบ•เปˆเบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™ Firefox เบเปเปˆเบชเป‰เบฒเบ‡เบ•เบญเบ™เบเบฒเบ‡เบ„เบทเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” WebGPU เบ‚เบญเบ‡ Firefox เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™ WGPU, เบ‚เบฝเบ™เบ”เป‰เบงเบ Rust เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡ Direct3D 12, Vulkan, OpenGL, เปเบฅเบฐ Metal graphics APIs.

WebGPU เบชเบฐเบซเบ™เบญเบ‡ API เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš Vulkan, Metal, เปเบฅเบฐ Direct3D 12 เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบ”เป‰เบฒเบ™ GPU. เบ™เบญเบเป€เบซเบ™เบทเบญเป„เบ›เบˆเบฒเบเบฎเบนเบšเบžเบฒเบš 3D, WebGPU เบเบฑเบ‡เบเบงเบกเป€เบญเบปเบฒเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ offloading เบเบฑเบšเบ”เป‰เบฒเบ™ GPU เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ” shaders. Conceptually, WebGPU เปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบเบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบ‚เบญเบ‡ WebGL เป€เบเบปเปˆเบฒเปƒเบ™เบซเบผเบฒเบเบงเบดเบ—เบตเบ”เบฝเบงเบเบฑเบ™เบ—เบตเปˆ Vulkan graphics API เปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบ OpenGL. เปƒเบ™เบ‚เบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™, WebGPU เบšเปเปˆเป„เบ”เป‰เบญเบตเบ‡เปƒเบชเปˆ API เบเบฃเบฒเบŸเบดเบเบชเบฐเป€เบžเบฒเบฐ, เปเบ•เปˆเป€เบ›เบฑเบ™เบŠเบฑเป‰เบ™เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเปƒเบŠเป‰ primitives เบฅเบฐเบ”เบฑเบšเบ•เปˆเปเบฒเบ”เบฝเบงเบเบฑเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™ Vulkan, Metal, เปเบฅเบฐ Direct3D.

WebGPU เป€เบ›เบตเบ”เปƒเบŠเป‰เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเปˆเบ™ JavaScript เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡, เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™ เปเบฅเบฐเบชเบปเปˆเบ‡เบ„เบณเบชเบฑเปˆเบ‡เป„เบ›เบเบฑเบ‡ GPU, เปเบฅเบฐเบˆเบฑเบ”เบเบฒเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡, เปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณ, เบšเบฑเบŸเป€เบŸเบต, เบงเบฑเบ”เบ–เบธเป‚เบ„เบ‡เบชเป‰เบฒเบ‡, เปเบฅเบฐเบ•เบปเบงเบฎเบปเปˆเบกเบเบฃเบฒเบšเบŸเบดเบเบ—เบตเปˆเบฅเบงเบšเบฅเบงเบก. เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบเบฒเบŸเบดเบเป‚เบ”เบเบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™ overhead เปเบฅเบฐเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš GPU.

เบ”เป‰เบงเบ WebGPU, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™ 3D เบ—เบตเปˆเป€เบ›เบฑเบ™เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบ—เบตเปˆเบšเปเปˆเป€เบŠเบทเปˆเบญเบŸเบฑเบ‡, เบชเบฐเบฅเบฑเบšเบชเบฑเบšเบŠเป‰เบญเบ™เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เปเบšเบšเบ”เปˆเบฝเบงเบ—เบตเปˆเปƒเบŠเป‰ Vulkan, Metal, เบซเบผเบท Direct3D เป‚เบ”เบเบเบปเบ‡. WebGPU เบเบฑเบ‡เบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบปเปˆเบ‡เป‚เบ›เปเบเบกเบเบฒเบŸเบดเบเบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡เป„เบ›เบซเบฒเปเบšเบšเบŸเบญเบกเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเป„เบ”เป‰, เบเป‰เบญเบ™เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบเบฑเบš WebAssembly.

เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ‚เบญเบ‡ WebGPU เปเบฅเบฐเบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบ WebGL:

  • เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เบงเบฝเบเบ‡เบฒเบ™เบเบฐเบเบฝเบกเปเบฅเบฐเบเบฒเบ™เบชเบปเปˆเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เป„เบ›เบซเบฒ GPU (เปƒเบ™ WebGL เบงเบฑเบ”เบ–เบธเบซเบ™เบถเปˆเบ‡เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™). เบชเบฒเบกเบชเบฐเบžเบฒเบšเบเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰: GPUDevice เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เป€เบŠเบฑเปˆเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เปเบฅเบฐ buffers; GPUCommandEncoder เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™, เบฅเบงเบกเบ—เบฑเบ‡เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™เปเบฅเบฐเบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ; GPUCommandBuffer เบˆเบฐเบ–เบทเบเบˆเบฑเบ”เบ„เบดเบงเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ GPU. เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบญเบปเบ‡เบ›เบฐเบเบญเบš canvas, เบซเบผเบทเบ›เบฐเบกเบงเบ™เบœเบปเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ output (เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™, เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ„เบญเบกเบžเบดเบงเป€เบ•เบต). เบเบฒเบ™เปเบเบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เปเบเบเบเบฒเบ™เบชเป‰เบฒเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปเบฅเบฐเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบเบฒเบ™เบเบฐเบเบฝเบกเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบซเบปเบงเบ‚เปเป‰เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™.
  • เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบเบฑเบšเบฅเบฑเบ”เบ›เบฐเบกเบงเบ™เบœเบปเบ™. WebGPU เบชเบฐเป€เบซเบ™เบตเบชเบญเบ‡เบงเบฑเบ”เบ–เบธ - GPURenderPipeline เปเบฅเบฐ GPUComputePipeline, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบปเบกเบ—เบปเบšเบฅเบฑเบ”เบ•เปˆเบฒเบ‡เป†เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบเปˆเบญเบ™เป‚เบ”เบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบšเปเปˆเป€เบชเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เป€เบŠเบฑเปˆเบ™: recompiling shaders. เบชเบฐเบ–เบฒเบ™เบฐเบ—เบตเปˆเบฎเบญเบ‡เบฎเบฑเบšเบฅเบงเบกเบกเบต: shaders, vertex buffer เปเบฅเบฐ attribute layouts, layouts group sticky, blending, depth and patterns, and post-render output formats.
  • เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบซเบผเบฒเบเบ„เบทเบเบฑเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบเบฒเบ™เบˆเบฑเบ”เบเบธเปˆเบกเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡ Vulkan. เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบธเปˆเบกเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบฎเปˆเบงเบกเบเบฑเบ™, WebGPU เปƒเบซเป‰เบงเบฑเบ”เบ–เบธ GPUBindGroup, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบเบฑเบšเบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบญเบทเปˆเบ™เป†เป€เบžเบทเปˆเบญเปƒเบŠเป‰เปƒเบ™ shaders เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ‚เบฝเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡. เบเบฒเบ™เบชเป‰เบฒเบ‡เบเบธเปˆเบกเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบŠเปˆเบงเบเปƒเบซเป‰เบœเบนเป‰เบ‚เบฑเบšเบ‚เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบเบฝเบกเบžเป‰เบญเบกเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒ, เปเบฅเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป‚เบ—เปเบšเบšเปเบ•เป‰เบกเป„เบ”เป‰เป„เบงเบ‚เบถเป‰เบ™. เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบฅเปˆเบงเบ‡เปœเป‰เบฒเป‚เบ”เบเปƒเบŠเป‰เบงเบฑเบ”เบ–เบธ GPUBindGroupLayout.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เบŠเบทเป‰เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ DDoS, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPS VDS ๐Ÿ”ฅ เบŠเบทเป‰เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDoS, เป€เบŠเบตเบšเป€เบงเบต VPS VDS | ProHoster