Chrome yoo pẹlu atilẹyin WebGPU

Google ti kede ifisi atilẹyin aiyipada fun API awọn eya aworan WebGPU ati WGSL (Ede Shading WebGPU) ni Chrome 113, eyiti o ṣeto fun itusilẹ ni Oṣu Karun ọjọ 2. WebGPU n pese wiwo siseto kan ti o jọra si Vulkan, Metal, ati Direct3D 12 fun ṣiṣe awọn iṣẹ ẹgbẹ-GPU gẹgẹbi ṣiṣe ati ṣiṣe iṣiro, ati tun gba lilo ede shader lati kọ awọn eto ti o ṣiṣẹ ni ẹgbẹ GPU. Imuse WebGPU yoo wa lakoko nikan ṣiṣẹ lori ChromeOS, macOS, ati awọn kọ Windows. Fun Lainos ati Android, atilẹyin WebGPU yoo mu ṣiṣẹ ni ọjọ ti o tẹle.

Ni afikun si Chrome, atilẹyin esiperimenta fun WebGPU ti ni idanwo lati Oṣu Kẹrin Ọjọ 2020 ni Firefox ati lati Oṣu kọkanla ọdun 2021 ni Safari. Lati mu WebGPU ṣiṣẹ ni Firefox, o yẹ ki o ṣeto dom.webgpu.enabled ati gfx.webgpu.force-enabled flags ni nipa: config. Ko si awọn ero sibẹsibẹ lati mu WebGPU ṣiṣẹ nipasẹ aiyipada ni Firefox ati Safari. Awọn imuse WebGPU ti o dagbasoke fun Firefox ati Chrome wa ni irisi awọn ile-ikawe lọtọ - Dawn (C++) ati wgpu (Rust), eyiti o le lo lati ṣafikun atilẹyin WebGPU sinu awọn ohun elo rẹ. Iṣẹ tun n lọ lọwọ lati ṣafikun atilẹyin WebGPU si awọn ile-ikawe JavaScript olokiki ti o lo WebGL abinibi. Fun apẹẹrẹ, atilẹyin kikun fun WebGPU ti kede tẹlẹ ni Babylon.js, ati atilẹyin apakan ni Three.js, PlayCanvas ati TensorFlow.js.

Ni imọran, WebGPU yato si WebGL ni ọna kanna ti Vulkan eya API yato si OpenGL, ṣugbọn WebGPU ko da lori API awọn eya aworan kan pato, ṣugbọn o jẹ ipele ti gbogbo agbaye ti o nlo awọn ipilẹ-kekere kanna ti a ri ni Vulkan, Irin ati Taara3D. WebGPU n pese awọn ohun elo JavaScript pẹlu iṣakoso ipele kekere lori agbari, sisẹ ati gbigbe awọn aṣẹ si GPU, ṣiṣakoso awọn orisun ti o somọ, iranti, awọn buffers, awọn nkan awoara ati awọn ojiji awọn aworan ti a ṣajọ. Ọna yii ngbanilaaye lati ṣaṣeyọri iṣẹ ṣiṣe ti o ga julọ fun awọn ohun elo eya aworan nipa idinku awọn idiyele oke ati jijẹ ṣiṣe ti ṣiṣẹ pẹlu GPU.

WebGPU jẹ ki o ṣee ṣe lati ṣẹda awọn iṣẹ akanṣe 3D eka fun oju opo wẹẹbu ti ko ṣe buru ju awọn eto imurasilẹ lọ ti o lo Vulkan, Irin tabi Direct3D taara, ṣugbọn ko ni asopọ si awọn iru ẹrọ kan pato. WebGPU tun pese awọn agbara afikun fun gbigbe awọn eto eya aworan abinibi sinu fọọmu ti n ṣiṣẹ wẹẹbu nipasẹ iṣakojọpọ sinu WebAssembly. Ni afikun si awọn aworan 3D, WebGPU tun pẹlu awọn agbara ti o ni ibatan si awọn iṣiro gbigbe si GPU ati ṣiṣe awọn shaders.

Awọn ẹya pataki ti WebGPU:

  • Isakoso lọtọ ti awọn orisun, iṣẹ igbaradi ati gbigbe awọn aṣẹ si GPU (ni WebGL ohun kan jẹ iduro fun ohun gbogbo ni ẹẹkan). Awọn ipo ọtọtọ mẹta ni a pese: GPUDevice fun ṣiṣẹda awọn orisun gẹgẹbi awọn awoara ati awọn buffers; GPUCommandEncoder fun fifi koodu pa awọn aṣẹ kọọkan, pẹlu ṣiṣe ati awọn ipele iṣiro; GPUCommandBuffer lati wa ni ila fun ipaniyan lori GPU. Abajade le ṣee ṣe ni agbegbe ti o ni nkan ṣe pẹlu ọkan tabi diẹ ẹ sii awọn eroja kanfasi, tabi ni ilọsiwaju laisi iṣẹjade (fun apẹẹrẹ, nigba ṣiṣe awọn iṣẹ ṣiṣe iṣiro). Iyapa awọn ipele jẹ ki o rọrun lati ya awọn ẹda orisun ati awọn iṣẹ igbaradi sinu awọn oluṣakoso oriṣiriṣi ti o le ṣiṣẹ lori awọn okun oriṣiriṣi.
  • Ọna ti o yatọ si awọn ipinlẹ sisẹ. WebGPU nfunni ni awọn nkan meji - GPURenderPipeline ati GPUComputePipeline, eyiti o gba ọ laaye lati ṣajọpọ awọn ipinlẹ oriṣiriṣi ti a ti ṣalaye tẹlẹ nipasẹ olupilẹṣẹ, eyiti o fun laaye ẹrọ aṣawakiri lati ma sọ ​​awọn orisun nu lori iṣẹ afikun, gẹgẹbi awọn atunto awọn shaders. Awọn ipinlẹ ti a ṣe atilẹyin pẹlu: awọn shaders, ifipamọ fatesi ati awọn ipilẹ abuda, awọn ipilẹ ẹgbẹ alalepo, idapọmọra, ijinle ati awọn ilana, ati awọn ọna kika igbejade ifiweranṣẹ.
  • Awoṣe abuda pupọ bii awọn ẹya akojọpọ awọn orisun Vulkan. Lati ṣe akojọpọ awọn orisun papọ, WebGPU n pese ohun elo GPUBindGroup kan, eyiti o le ni nkan ṣe pẹlu awọn nkan miiran ti o jọra fun lilo ninu awọn iboji lakoko kikọ awọn aṣẹ. Ṣiṣẹda iru awọn ẹgbẹ gba awakọ laaye lati ṣe awọn iṣe igbaradi pataki ni ilosiwaju, ati gba ẹrọ aṣawakiri laaye lati yi awọn asopọ awọn orisun laarin awọn ipe fa yiyara pupọ. Awọn ifilelẹ ti awọn ohun elo abuda le ti wa ni asọye tẹlẹ nipa lilo GPUBindGroupLayout ohun.

orisun: opennet.ru

Fi ọrọìwòye kun