Ka hurahia e W3C te tauira paerewa WebGPU

Kua tukuna e te W3C nga tauira tuatahi o te WebGPU me te WebGPU Shading Language (WGSL), e tautuhi ana i nga API mo te mahi i nga mahi GPU penei i te tuku me te rorohiko, me te reo whakamarumaru mo te tuhi i nga kaupapa e rere ana i runga i te GPU. he rite te ariā ki nga API Vulkan, Metal me Direct3D 12. Ko nga korero i whakaritea e tetahi roopu mahi i uru mai nga miihini mai i Mozilla, Google, Apple me Microsoft.

Ko te tikanga, he rereke te WebGPU mai i te WebGL he rite tonu te rerekee o te API whakairoiro Vulkan mai i te OpenGL, engari kaore i runga i te API whakairoiro motuhake, engari he paparanga mo te ao katoa e whakamahi ana i nga ahuatanga o mua o te taumata iti e kitea ana i Vulkan, Metal me Direct3D. Ko te WebGPU e whakarato ana i nga tono JavaScript me te mana taumata-iti ki runga i te whakahaere, te tukatuka me te tuku o nga whakahau ki te GPU, te whakahaere i nga rauemi e pa ana, te mahara, te aukati, nga mea kakano me nga atarangi whakairoiro kua whakahiato. Ma tenei huarahi ka taea e koe te whakatutuki i nga mahi teitei ake mo nga tono whakairoiro ma te whakaiti i nga utu o runga ake me te whakanui ake i te pai o te mahi me te GPU.

Ka taea e WebGPU te hanga kaupapa 3D matatini mo te Tukutuku kaore i te kino atu i nga kaupapa motuhake e uru tika ana ki a Vulkan, Metal, Direct3D ranei, engari kaore i te herea ki nga papaaho motuhake. Ka whakarato hoki a WebGPU i etahi atu kaha mo te kawe i nga kaupapa whakairoiro taketake ki roto i te puka-tukutuku ma te whakahiato ki te WebAssembly. I tua atu i nga whakairoiro 3D, kei roto ano hoki i te WebGPU nga kaha e pa ana ki te whakaheke i nga tatauranga ki te GPU me te whakahaere i nga kaataata.

Nga waahanga matua o te WebGPU:

  • 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

Tāpiri i te kōrero