Magkakaroon na ng suporta sa WebGPU ang Chrome at ie-enable ito bilang default

WebGPU Chrome

Pagkatapos ng mga taon ng pag-unlad, inilabas ng Chrome team ang WebGPU

Ilang araw na ang nakakalipas Inilantad ng Google sa pamamagitan ng isang inihayag ang default na suporta para sa WebGPU graphics API at WebGPU Shading Language (WGSL) sa sangay ng Chrome 113, na nakatakdang ipalabas sa Mayo 2.

Para sa mga hindi nakakaalam ng WebGPU, dapat mong malaman iyon nagbibigay ng API na katulad ng Vulkan, Metal at Direct3D 12 upang magsagawa ng mga operasyon sa gilid ng GPU tulad ng pag-render at pag-compute, at gayundin nagbibigay-daan sa paggamit ng isang shader na wika upang magsulat ng mga programa sa gilid ng GPU.

Tungkol sa WebGPU

Konseptwal, Ang WebGPU ay naiiba sa WebGL sa parehong paraan na ang Vulkan graphics API ay naiiba sa OpenGL, ngunit ang WebGPU ay hindi nakabatay sa isang partikular na graphics API, sa halip ito ay isang pangkalahatang layunin na layer na gumagamit ng parehong mababang antas ng mga primitive na matatagpuan sa Vulkan. Metal at Direct3D. WebGPU nagbibigay ng mga JavaScript application na may mababang antas ng kontrol sa organisasyon, pagpoproseso at pagpapadala ng mga command sa GPU, pamamahala ng mga nauugnay na mapagkukunan, memorya, buffer, texture object, at pinagsama-samang graphics shader. Binibigyang-daan ka ng diskarteng ito na makamit ang mas mataas na pagganap ng mga graphics application sa pamamagitan ng pagbabawas ng overhead at pagtaas ng kahusayan ng GPU.

WebGPU ay nagbibigay-daan sa iyo upang lumikha ng mga kumplikadong mga proyekto ng 3D para sa web na gumagana pati na rin ang mga standalone na program na direktang gumagamit ng Vulkan, Metal, o Direct3D, ngunit hindi nakatali sa mga partikular na platform. Ang WebGPU nagbibigay din ng mga karagdagang opsyon para sa pag-port ng mga native na graphics program sa isang web-enabled na form sa pamamagitan ng pag-compile sa WebAssembly. Bilang karagdagan sa 3D graphics, saklaw din ng WebGPU ang mga posibilidad na nauugnay sa pag-offload ng mga pagkalkula sa gilid ng GPU at pagpapatakbo ng mga shader.

Sa mga pangunahing tampok ng WebGPU, maaari naming i-highlight ang mga sumusunod:

  • Paghiwalayin ang pamamahala ng mga mapagkukunan, gawaing paghahanda at paghahatid ng mga utos sa GPU (sa WebGL, isang bagay ang responsable para sa lahat nang sabay-sabay). Tatlong magkakahiwalay na konteksto ang ibinigay: GPUDevice para sa paglikha ng mga mapagkukunan tulad ng mga texture at buffer; GPUCommandEncoder upang i-encode ang mga indibidwal na command, kabilang ang mga yugto ng pagproseso at pagkalkula; GPUCommandBuffer upang ipasa sa pila ng pagpapatupad ng GPU.
    Maaaring i-render ang resulta sa isang lugar na nauugnay sa isa o higit pang canvas na mga item, o i-render nang walang output (halimbawa, kapag nagpapatakbo ng mga computational na gawain). Pinapadali ng staging na paghiwalayin ang paggawa ng mapagkukunan at mga pagpapatakbo ng provisioning sa iba't ibang controller na maaaring tumakbo sa iba't ibang mga thread.
  • Ibang diskarte sa paghawak ng estado. Nagbibigay ang WebGPU ng dalawang bagay, GPURenderPipeline at GPUComputePipeline, na nagbibigay-daan sa iyong pagsamahin ang iba't ibang estado na paunang tinukoy ng developer, na ginagawang posible para sa browser na hindi mag-aksaya ng mga mapagkukunan sa karagdagang trabaho, tulad ng muling pag-compile ng mga shader. Kasama sa mga sinusuportahang estado ang: mga shader, vertex buffer at mga layout ng attribute, mga fixed group na layout, blending, depth at pattern, mga post-render na format ng output.
  • Isang umiiral na modelo, katulad ng mga tool sa pagsasama-sama ng mapagkukunan ng Vulkan. Upang igrupo ang mga mapagkukunan sa mga pangkat, ang WebGPU ay nagbibigay ng isang GPUBindGroup object na maaaring itali sa iba pang katulad na mga bagay para magamit sa mga shader habang nagre-record ng command.
    Ang paggawa ng mga naturang grupo ay nagbibigay-daan sa controller na magsagawa ng mga kinakailangang aksyong paghahanda nang maaga at nagbibigay-daan sa browser na lumipat ng mga resource binding sa pagitan ng mga draw call nang mas mabilis. Ang layout ng mga resource binding ay maaaring paunang tukuyin gamit ang GPUBindGroupLayout object.

Bilang karagdagan sa Chrome, nasubok ang pang-eksperimentong suporta sa WebGPU mula Abril 2020 sa Firefox at mula Nobyembre 2021 sa Safari. Upang paganahin ang WebGPU sa Firefox, dapat mong itakda ang dom.webgpu.enabled at gfx.webgpu.force-enabled na mga flag sa about:config.

Wala pang planong paganahin ang WebGPU bilang default sa Firefox at Safari. Available ang mga pagpapatupad ng WebGPU para sa Firefox at Chrome bilang magkahiwalay na mga aklatan: Dawn (C++) at wgpu (Rust) na magagamit mo upang isama ang suporta sa WebGPU sa iyong mga application.

Dapat ding tandaan na ang trabaho ay isinasagawa upang magdagdag ng suporta sa WebGPU sa mga sikat na library ng JavaScript na katutubong gamit ang WebGL. Halimbawa, ang buong suporta sa WebGPU ay idineklara na sa Babylon.js at bahagyang sa Three.js , PlayCanvas , at TensorFlow.js.

Ang pagpapatupad ng Ang WebGPU ay ie-enable lang sa simula sa mga build para sa ChromeOS, macOS, at Windows, habang para sa Linux at Android, ang suporta sa WebGPU ay ia-activate sa ibang araw.

Panghuli, kung interesado kang malaman ang tungkol dito, maaari kang kumunsulta sa mga detalye Sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.