Ka taea te tautoko WebGPU ki Chrome

Kua panuitia e Google te whakaurunga o te tautoko taunoa mo te API whakairoiro WebGPU me te WGSL (WebGPU Shading Language) ki Chrome 113, kua whakaritea mo te tuku i te Mei 2. Ka whakaratohia e WebGPU he atanga papatono rite ki a Vulkan, Metal, me Direct3D 12 mo te mahi i nga mahi taha GPU penei i te tuku me te rorohiko, ka taea hoki te whakamahi i te reo whakamarumaru ki te tuhi i nga kaupapa e rere ana i te taha GPU. Ko te whakatinanatanga WebGPU i te tuatahi ka taea anake i runga i te ChromeOS, macOS, me te hanga Windows. Mo Linux me Android, ka whakahohehia te tautoko WebGPU a muri ake nei.

Hei taapiri atu ki a Chrome, kua whakamatauria te tautoko whakamatautau mo te WebGPU mai i te Paenga-whāwhā 2020 i Firefox me te Whiringa-a-rangi 2021 i Safari. Kia taea ai te WebGPU ki Firefox, me whakarite e koe nga haki dom.webgpu.enabled me gfx.webgpu.force-whakahohea ki roto mo:config. Kaore ano he mahere kia taea ai te WebGPU ma te taunoa i Firefox me Safari. Ko nga whakatinanatanga WebGPU i whakawhanakehia mo Firefox me Chrome e waatea ana i te ahua o nga whare pukapuka motuhake - Dawn (C++) me te wgpu (Rust), ka taea e koe te whakamahi hei whakauru i te tautoko WebGPU ki o tono. Kei te haere ano te mahi ki te taapiri i te tautoko WebGPU ki nga whare pukapuka JavaScript rongonui e whakamahi taketake ana i te WebGL. Hei tauira, kua panuitia te tautoko katoa mo te WebGPU i Babylon.js, me etahi waahanga tautoko i Three.js, PlayCanvas me TensorFlow.js.

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 ko te WebGPU kaore i te hangai i runga i tetahi API whakairoiro motuhake, engari he paparanga mo te ao katoa e whakamahi ana i nga ahuatanga 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 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 tuuturu e whakamahi tika ana i te Vulkan, Metal, Direct3D ranei, engari kaore e 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