Chrome bakal kalebu dhukungan WebGPU

Google wis ngumumake kalebu dhukungan standar kanggo API grafis WebGPU lan WGSL (WebGPU Shading Language) ing Chrome 113, sing dijadwalake bakal dirilis tanggal 2 Mei. WebGPU nyedhiyakake antarmuka pemrograman sing padha karo Vulkan, Metal, lan Direct3D 12 kanggo nindakake operasi sisih GPU kayata rendering lan komputasi, lan uga ngidini nggunakake basa shader kanggo nulis program sing mbukak ing sisih GPU. Implementasi WebGPU wiwitane mung bakal diaktifake ing ChromeOS, macOS, lan Windows. Kanggo Linux lan Android, dhukungan WebGPU bakal diaktifake mengko.

Saliyane Chrome, dhukungan eksperimen kanggo WebGPU wis diuji wiwit April 2020 ing Firefox lan wiwit November 2021 ing Safari. Kanggo ngaktifake WebGPU ing Firefox, sampeyan kudu nyetel gendera dom.webgpu.enabled lan gfx.webgpu.force-aktif ing babagan:config. Ora ana rencana kanggo ngaktifake WebGPU kanthi gawan ing Firefox lan Safari. Implementasi WebGPU sing dikembangake kanggo Firefox lan Chrome kasedhiya ing wangun perpustakaan sing kapisah - Dawn (C++) lan wgpu (Rust), sing bisa digunakake kanggo nggabungake dhukungan WebGPU menyang aplikasi sampeyan. Pakaryan uga ditindakake kanggo nambah dhukungan WebGPU menyang perpustakaan JavaScript populer sing nggunakake WebGL asli. Contone, dhukungan lengkap kanggo WebGPU wis diumumake ing Babylon.js, lan dhukungan sebagian ing Three.js, PlayCanvas lan TensorFlow.js.

Secara konseptual, WebGPU beda karo WebGL kanthi cara sing padha karo API grafis Vulkan sing beda karo OpenGL, nanging WebGPU ora adhedhasar API grafis tartamtu, nanging minangka lapisan universal sing nggunakake primitif tingkat rendah sing padha ing Vulkan, Metal lan Langsung3D. WebGPU nyedhiyakake aplikasi JavaScript kanthi kontrol tingkat rendah babagan organisasi, pangolahan lan transmisi printah menyang GPU, ngatur sumber daya sing gegandhengan, memori, buffer, obyek tekstur lan shader grafis sing dikompilasi. Pendekatan iki ngidini sampeyan entuk kinerja sing luwih dhuwur kanggo aplikasi grafis kanthi nyuda biaya overhead lan nambah efisiensi nggarap GPU.

WebGPU ndadekake iku bisa kanggo nggawe proyek 3D Komplek kanggo Web sing nindakake ora Samsaya Awon saka program dewekan sing langsung nggunakake Vulkan, Metal utawa Direct3D, nanging ora disambungake menyang platform tartamtu. WebGPU uga menehi kabisan tambahan kanggo porting program grafis native menyang wangun web-aktif liwat kompilasi menyang WebAssembly. Saliyane grafis 3D, WebGPU uga kalebu kapabilitas sing ana gandhengane karo kalkulasi sing dicopot menyang GPU lan nglakokake shader.

Fitur utama WebGPU:

  • Manajemen kapisah saka sumber daya, karya preparatory lan transmisi printah kanggo GPU (ing WebGL siji obyek tanggung jawab kanggo kabeh bebarengan). Telung konteks kapisah diwenehake: GPUDevice kanggo nggawe sumber daya kayata tekstur lan buffer; GPUCommandEncoder kanggo ngodhe prentah individu, kalebu tahap rendering lan komputasi; GPUCommandBuffer bakal antri kanggo eksekusi ing GPU. Asil bisa ditampilake ing area sing ana gandhengane karo siji utawa luwih unsur kanvas, utawa diproses tanpa output (contone, nalika nindakake tugas komputasi). Misahake tahapan nggawe luwih gampang kanggo misahake nggawe sumber daya lan operasi nyiapake menyang panangan beda sing bisa mbukak ing Utas beda.
  • A pendekatan beda kanggo negara Processing. WebGPU nawakake rong obyek - GPURenderPipeline lan GPUComputePipeline, sing ngidini sampeyan nggabungake macem-macem negara sing wis ditemtokake dening pangembang, sing ngidini browser ora mbuwang sumber daya ing karya tambahan, kayata recompiling shaders. Negara sing didhukung kalebu: shader, buffer vertex lan tata letak atribut, tata letak grup lengket, campuran, ambane lan pola, lan format output post-render.
  • Model pengikat kaya fitur pengelompokan sumber daya Vulkan. Kanggo nglumpukake sumber daya bebarengan, WebGPU nyedhiyakake obyek GPUBindGroup, sing bisa digandhengake karo obyek liyane sing padha kanggo digunakake ing shader nalika nulis printah. Nggawe grup kuwi ngidini driver kanggo nindakake tumindak preparatory perlu ing advance, lan ngidini browser kanggo ngganti bindings sumber antarane tarik telpon luwih cepet. Tata letak ikatan sumber daya bisa ditemtokake kanthi nggunakake obyek GPUBindGroupLayout.

Source: opennet.ru

Add a comment