Kua whakatau a Mozilla ki te whakahohe i te tautoko mō te WebGPU API me te WGSL (WebGPU Shading Language) i roto i te Firefox. Mō te tūāpapa Windows Ka whakahohea te tautoko WebGPU i roto i te Firefox 141, ā, kua whakaritea mō te 22 o Hūrae. Kua whakamaheretia kia whakahohea te tautoko WebGPU i roto i ngā hanganga mō ngā marama e whai ake nei: Linux и macOS, ā, i muri i ētahi wā i roto i te putanga mō te tūāpapa AndroidHei whakahohe ā-ringa i te WebGPU, ka taea e koe te whakamahi i ngā tawhā "dom.webgpu.enabled" me "gfx.webrender.all" i te whārangi about:config.
I Chrome, ko te tautoko a WebGPU i tukuna ma te taunoa i te putanga 113, i tukuna i te marama o Haratua 2023. I Safari, kua whakamaherehia te tautoko WebGPU kia taea te taunoa i tenei takahanga (kua waatea te tautoko whakamatautau mai i te Whiringa-a-rangi 2021). I roto i a Firefox, kua tae mai te tautoko WebGPU whakamatautau mai i te tau 2020, engari na te taunoa anake i whakahoahohia i roto i nga hanga po o Firefox. Ko te whakatinanatanga WebGPU a Firefox kei runga i te waehere kaupapa WGPU, kua tuhia ki te Rust me te kaha ki te rere ki runga ake o nga API whakairoiro Direct3D 12, Vulkan, OpenGL, me Metal.
Ka whakaratohia e WebGPU he API rite ki a Vulkan, Metal, me Direct3D 12 mo te mahi i nga mahi i te taha GPU. I tua atu i nga whakairoiro 3D, kei te hipoki ano hoki a WebGPU i nga kaha e pa ana ki te tango i nga tatauranga ki te taha GPU me te whakahaere i nga kaimarumaru. Ko te tikanga, he rereke te WebGPU mai i te whakatakotoranga WebGL tawhito he rite tonu te rerekee o te API whakairoiro Vulkan mai i OpenGL. I te wa ano, kaore te WebGPU i runga i te API whakairoiro motuhake, engari he paparanga ao e whakamahi ana i nga ahuatanga o mua o te taumata iti e waatea ana i Vulkan, Metal, me Direct3D.
Ka taea e WebGPU nga tono JavaScript ki te whakahaere i te whakahaere, te tukatuka, me te tuku o nga whakahau ki te GPU, me te whakahaere i nga rauemi e pa ana, te mahara, te buffers, nga mea kakano, me nga kaiwhakaahua whakairoiro whakahiato. Ma tenei huarahi ka taea te mahi teitei ake o nga tono whakairoiro ma te whakaheke i runga ake me te whakanui ake i te pai o te mahi me te GPU.
Ma te WebGPU, ka taea e koe te hanga kaupapa-agnostic-agnostic, kaupapa 3D matatini e mahi ana me nga kaupapa motuhake e whakamahi tika ana i a Vulkan, Metal, Direct3D ranei. Ka whakarato ano hoki a WebGPU i etahi atu kaha mo te kawe i nga kaupapa whakairoiro taketake ki te ahua ka taea te whakahaere i roto i nga kaitirotiro, na te whakahiatotanga ki WebAssembly.
Ko nga ahuatanga matua o te WebGPU me nga rereketanga mai i te WebGL:
- Te whakahaere motuhake o nga rauemi, nga mahi whakarite me te tuku o nga whakahau ki te GPU (i roto i te WebGL tetahi mea te kawenga mo nga mea katoa i te wa kotahi). E toru nga horopaki motuhake e whakaratohia ana: GPUDevice mo te hanga rauemi penei i nga kakano me nga parepare; GPUCommandEncoder mo te whakawaehere i nga whakahau takitahi, tae atu ki nga waahanga whakaputa me te tatauranga; GPUCommandBuffer kia tutiraa mo te mahi i runga i te GPU. Ka taea te whakaputa i te hua ki tetahi waahi e hono ana ki tetahi, neke atu ranei nga huānga kānawehi, ka tukatukahia kaore he putanga (hei tauira, i te wa e whakahaere ana i nga mahi rorohiko). Ma te wehewehe i nga waahanga ka ngawari ake te wehe i nga mahi hanga rauemi me nga mahi whakarite ki nga kaikawe rereke ka taea te whakahaere i runga i nga miro rereke.
- He huarahi rereke mo nga ahuatanga tukatuka. Ka tukuna e WebGPU nga taonga e rua - GPURenderPipeline me GPUComputePipeline, ka taea e koe te whakakotahi i nga momo whenua kua tautuhia e te kaiwhakawhanake, ka taea e te kaitirotiro te kore e moumou rauemi mo etahi atu mahi, penei i te whakahiato i nga atarangi. Ko nga ahuatanga e tautokohia ana ko: nga whakamarumaru, te papaaa poupou me nga whakatakotoranga huanga, nga whakatakotoranga roopu piri, te whakakotahitanga, te hohonu me nga tauira, me nga whakatakotoranga whakaputa i muri i te tuku.
- He tauira here rite tonu ki nga ahuatanga whakarōpū rauemi a Vulkan. Hei whakarōpū i nga rauemi, ka whakaratohia e WebGPU he ahanoa GPUBindGroup, ka taea te hono atu ki etahi atu mea rite mo te whakamahi i nga atarangi i te wa e tuhi ana nga whakahau. Ko te hanga i enei roopu ka taea e te taraiwa te mahi i nga mahi whakatikatika e tika ana i mua, ka taea e te kaitirotiro te whakarereke i nga hononga rauemi i waenga i nga waea tuhi kia tere ake. Ka taea te tautuhi i te whakatakotoranga o nga here rauemi ma te whakamahi i te ahanoa GPUBindGroupLayout.
Source: opennet.ru
