Firefox û Safari dê piştgiriya WebGPU bistînin

Mozillayê biryar da ku piştgiriya WebGPU API û WGSL (WebGPU Shading Language) di Firefoxê de çalak bike. Ji bo platformê Windows Piştgiriya WebGPU dê di Firefox 141 de, ku ji bo 22ê Tîrmehê hatiye plankirin, bi xweber were çalakkirin. Piştre tê plankirin ku piştgiriya WebGPU di guhertoyên mehên pêş de were çalakkirin: Linux и macOS, û piştî demekê di guhertoya ji bo platformê de AndroidJi bo çalakkirina destî ya WebGPU, hûn dikarin parametreyên "dom.webgpu.enabled" û "gfx.webrender.all" li ser rûpela about:config bikar bînin.

Di Chrome de, piştgiriya WebGPU bi xweber di guhertoya 113-an de, ku di Gulana 2023-an de hate berdan, hate pêşkêş kirin. Di Safari de, tê plan kirin ku piştgiriya WebGPU vê payîzê bi xweber were çalak kirin (piştgiriya ceribandinî ji Mijdara 2021-an vir ve heye). Di Firefox de, piştgiriya WebGPU-ya ceribandinî ji sala 2020-an vir ve heye, lê tenê bi xweber di guhertoyên şevî yên Firefox-ê de hate çalak kirin. Pêkanîna WebGPU ya Firefox-ê li ser koda projeya WGPU-yê ye, ku bi Rust hatiye nivîsandin û dikare li ser API-yên grafîkî yên Direct3D 12, Vulkan, OpenGL, û Metal bixebite.

WebGPU ji bo pêkanîna operasyonan li aliyê GPU-yê API-yek dişibihe Vulkan, Metal, û Direct3D 12 peyda dike. Ji bilî grafîkên 3D, WebGPU şiyanên têkildarî barkirina hesaban bo aliyê GPU-yê û bicîhanîna shaderan jî vedihewîne. Ji hêla konseptî ve, WebGPU ji taybetmendiya WebGL-ya kevin bi heman awayî cuda ye ku API-ya grafîkên Vulkan ji OpenGL-ê cuda ye. Di heman demê de, WebGPU ne li ser API-yek grafîkek taybetî ye, lê tebeqeyek gerdûnî ye ku heman prîmîtîvên asta nizm bikar tîne ku di Vulkan, Metal, û Direct3D-yê de hene.

WebGPU dihêle ku sepanên JavaScript-ê rêxistin, pêvajo û veguhestina fermanan bo GPU-yê kontrol bikin, û çavkaniyên têkildar, bîr, tampon, tiştên teksturê, û shaderên grafîkî yên berhevkirî birêve bibin. Ev rêbaz bi kêmkirina lêçûnên giştî û zêdekirina karîgeriya xebata bi GPU-yê re performansa bilindtir a sepanên grafîkî gengaz dike.

Bi WebGPU-yê re, hûn dikarin projeyên 3D-yê yên tevlihev û bê platform biafirînin ku bernameyên serbixwe yên ku rasterast Vulkan, Metal, an Direct3D bikar tînin jî baş performans dikin. WebGPU her weha şiyanên zêde peyda dike ji bo veguheztina bernameyên grafîkî yên xwemalî bo formek ku dikare di gerokan de bixebite, bi saya berhevkirina WebAssembly.

Taybetmendiyên sereke yên WebGPU û cudahiyên ji WebGL:

  • Rêvebiriya veqetandî ya çavkaniyan, xebata amadekariyê û veguheztina fermanan ji GPU re (di WebGL de yek tişt bi yekcarî berpirsiyar bû). Sê çarçoveyên cihêreng têne peyda kirin: GPUDevice ji bo afirandina çavkaniyên wekî tevnvîs û tampon; GPUCommandEncoder ji bo şîfrekirina fermanên takekesî, tevî qonaxên rendering û hesabkirinê; GPUCommandBuffer ji bo darvekirinê li ser GPU-yê tê rêz kirin. Encam dikare li deverek ku bi yek an çend hêmanên kanvasê ve girêdayî ye, an jî bêyî encam were hilberandin (mînak, dema ku karên hesabkirinê dimeşîne). Veqetandina qonaxan veqetandina operasyonên afirandina çavkaniyê û amadekirinê di nav rêkarên cihêreng ên ku dikarin li ser mijarên cihêreng bimeşînin hêsantir dike.
  • Nêzîkatiyek cûda ji bo dewletên pêvajoyê. WebGPU du tiştan pêşkêşî dike - GPURenderPipeline û GPUComputePipeline, ku dihêle hûn rewşên cihêreng ên ku ji hêla pêşdebiran ve hatine destnîşan kirin bi hev re bikin, ku rê dide gerokê ku çavkaniyan li ser karên din xerc neke, wek mînak berhevkirina shaderan. Dewletên piştgirî ev in: shader, tamponên vertex û sêwiranên taybetmendiyê, layoutên koma zeliqandî, tevlihevkirin, kûrahî û şablon, û formatên derketinê yên paş-render.
  • Modelek girêdanê ku mîna taybetmendiyên komkirina çavkaniya Vulkan e. Ji bo komkirina çavkaniyan bi hev re, WebGPU hêmanek GPUBindGroup peyda dike, ku dikare bi tiştên din ên mîna hev re were girêdan ji bo karanîna di shaderan de dema ku fermanan dinivîse. Afirandina komên weha rê dide ajoker ku pêşî li çalakiyên amadekariyê yên pêwîst pêk bîne, û dihêle gerokker girêdanên çavkaniyê di navbera bangên kişandinê de pir zûtir biguhezîne. Pîvana girêdanên çavkaniyê dikare bi karanîna objekta GPUBindGroupLayout ve were diyar kirin.

Source: opennet.ru

Ji bo malperên bi parastina DDoS, serverên VPS VDS mêvandariya pêbawer bikirin 🔥 Hostinga malperê ya pêbawer bi parastina DDoS, serverên VPS VDS bikirin | ProHoster