Firefox kaj Safari ricevos subtenon por WebGPU

Mozilo decidis ebligi subtenon por la WebGPU API kaj WGSL (WebGPU Shading Language) en Firefox. Por la platformo Windows Subteno por WebGPU estos ebligita defaŭlte en Firefox 141, planita por la 22-a de julio. Poste, estas planite ebligi subtenon por WebGPU en versioj dum la sekvaj monatoj: Linux и macOS, kaj post iom da tempo en la versio por la platformo AndroidPor permane ebligi WebGPU, vi povas uzi la parametrojn "dom.webgpu.enabled" kaj "gfx.webrender.all" sur la paĝo about:config.

En Chrome, subteno por WebGPU estis ofertita defaŭlte en versio 113, publikigita en majo 2023. En Safari, oni planas ebligi WebGPU-subtenon defaŭlte ĉi-aŭtune (eksperimenta subteno haveblas ekde novembro 2021). En Firefox, eksperimenta subteno por WebGPU ĉeestis ekde 2020, sed estis ebligita defaŭlte nur en noktaj versioj de Firefox. La efektivigo de WebGPU en Firefox baziĝas sur la projektokodo de WGPU, skribita en Rust kaj kapabla funkcii sur la grafikaj API-oj por Direct3D 12, Vulkan, OpenGL kaj Metal.

WebGPU provizas API-on similan al Vulkan, Metal, kaj Direct3D 12 por plenumi operaciojn ĉe la GPU-flanko. Aldone al 3D-grafikoj, WebGPU ankaŭ kovras kapablojn rilatajn al malŝarĝado de kalkuloj al la GPU-flanko kaj efektivigo de ombrantoj. Koncepte, WebGPU diferencas de la malnova WebGL-specifo tre simile al kiel la Vulkan-grafika API diferencas de OpenGL. Samtempe, WebGPU ne baziĝas sur specifa grafika API, sed estas universala tavolo kiu uzas la samajn malaltnivelajn primitivojn kiuj estas haveblaj en Vulkan, Metal, kaj Direct3D.

WebGPU ebligas al JavaScript-aplikaĵoj kontroli la organizadon, prilaboradon kaj transdonon de komandoj al la GPU, kaj administri rilatajn rimedojn, memoron, bufrojn, teksturajn objektojn kaj kompilitajn grafikajn ombrantojn. Ĉi tiu aliro ebligas pli altan rendimenton de grafikaj aplikaĵoj reduktante la koston kaj pliigante la efikecon de laborado kun la GPU.

Per WebGPU, vi povas krei platformo-nedependajn, kompleksajn 3D-projektojn, kiuj funkcias same bone kiel memstaraj programoj, kiuj rekte uzas Vulkan, Metal aŭ Direct3D. WebGPU ankaŭ provizas pliajn kapablojn por porti denaskajn grafikajn programojn al formularo, kiu povas funkcii en retumiloj, danke al kompilo al WebAssembly.

Ĉefaj trajtoj de WebGPU kaj diferencoj de WebGL:

  • Aparta administrado de rimedoj, prepara laboro kaj transdono de komandoj al la GPU (en WebGL, unu objekto respondecis pri ĉio samtempe). Tri apartaj kuntekstoj estas provizitaj: GPUDevice por krei rimedojn kiel teksturoj kaj bufroj; GPUCommandEncoder por kodi individuajn komandojn, inkluzive de la bildigo kaj kalkulstadioj; GPUCommandBuffer por pasi al la GPU-kura atendovico. La rezulto povas esti igita en areo asociita kun unu aŭ pluraj kanvaselementoj, aŭ igita sen eligo (ekzemple, dum komputado taskoj). La disiĝo de stadioj faciligas apartigi operaciojn pri kreado kaj provizado de rimedoj en malsamaj prizorgantoj, kiuj povas funkcii per malsamaj fadenoj.
  • Malsama aliro al uzado de ŝtatoj. WebGPU provizas du objektojn - GPURenderPipeline kaj GPUComputePipeline, kiuj ebligas al vi kombini malsamajn statojn antaŭdifinitajn de la programisto, kio ebligas al la retumilo ne malŝpari rimedojn por plia laboro, kiel rekompili ombrantojn. Subtenataj ŝtatoj inkluzivas: ombrigilojn, vertican bufron kaj atributajn aranĝojn, gluiĝemajn grupajn aranĝojn, miksadon, profundon kaj ŝablonojn, post-redonajn eligformatojn.
  • Liganta modelo, tre kiel la iloj pri grupigo de rimedoj de Vulkan. Por grupigi rimedojn en grupojn, la WebGPU disponigas GPUBindGroup-objekton, kiu, en la momento de skribado de komandoj, povas esti asociita kun aliaj similaj objektoj por uzo en ombriloj. Krei tiajn grupojn permesas al la ŝoforo plenumi la necesajn preparajn agojn anticipe, kaj permesas al la retumilo ŝanĝi rimedajn ligojn inter remizovokoj multe pli rapide. La aranĝo de rimedligoj povas esti antaŭdifinita uzante la objekton GPUBindGroupLayout.

fonto: opennet.ru

Aĉetu fidindan gastigadon por retejoj kun DDoS-protekto, VPS-VDS-serviloj 🔥 Aĉetu fidindan retejan gastigadon kun DDoS-protekto, VPS VDS-servilojn | ProHoster