Firefox a Safari kréien WebGPU-Ënnerstëtzung

Mozilla huet decidéiert, d'Ënnerstëtzung fir d'WebGPU API an d'WGSL (WebGPU Shading Language) am Firefox z'aktivéieren. Fir d'Windows Plattform gëtt d'WebGPU-Ënnerstëtzung standardméisseg am Firefox 141 aktivéiert, deen den 22. Juli erauskënnt. Duerno ass geplangt, datt d'WebGPU-Ënnerstëtzung an den nächste Méint a Linux- a macOS-Builds aktivéiert gëtt, an e bësse méi spéit och an der Android-Versioun. Fir WebGPU manuell z'aktivéieren, kënnt Dir d'Parameteren "dom.webgpu.enabled" an "gfx.webrender.all" op der about:config-Säit benotzen.

A Chrome gouf WebGPU-Ënnerstëtzung standardméisseg an der Versioun 113 ugebueden, déi am Mee 2023 erauskoum. A Safari soll d'WebGPU-Ënnerstëtzung dësen Hierscht standardméisseg aktivéiert ginn (experimentell Ënnerstëtzung ass zënter November 2021 verfügbar). Am Firefox gëtt et experimentell WebGPU-Ënnerstëtzung zënter 2020, awer war nëmmen standardméisseg an den Nightly-Builds vu Firefox aktivéiert. D'WebGPU-Implementatioun vu Firefox baséiert op dem WGPU-Projetcode, deen a Rust geschriwwe gouf a kann op den Direct3D 12, Vulkan, OpenGL a Metal Graphics APIs lafen.

WebGPU bitt eng ähnlech API wéi Vulkan, Metal an Direct3D 12 fir Operatiounen op der GPU-Säit auszeféieren. Nieft 3D-Grafiken deckt WebGPU och Méiglechkeeten of, déi mat der Offloading vu Berechnungen op d'GPU-Säit an der Ausféierung vu Shader zesummenhänken. Konzeptuell ënnerscheet sech WebGPU vun der aler WebGL-Spezifikatioun op déiselwecht Aart a Weis wéi d'Vulkan Grafik-API sech vun OpenGL ënnerscheet. Gläichzäiteg baséiert WebGPU net op enger spezifescher Grafik-API, mä ass eng universell Schicht, déi déiselwecht Low-Level-Primitive benotzt, déi a Vulkan, Metal an Direct3D verfügbar sinn.

WebGPU erméiglecht et JavaScript-Applikatiounen, d'Organisatioun, d'Veraarbechtung an d'Iwwerdroung vu Kommandoen un d'GPU ze kontrolléieren, an déi associéiert Ressourcen, Speicher, Puffer, Texturobjekter a kompiléiert Grafikshader ze verwalten. Dësen Usaz erméiglecht eng méi héich Leeschtung vu Grafikapplikatiounen andeems den Overhead reduzéiert gëtt an d'Effizienz vun der Aarbecht mat der GPU erhéicht gëtt.

Mat WebGPU kënnt Dir plattformonofhängeg, komplex 3D-Projeten erstellen, déi genee sou gutt funktionéieren wéi Standalone-Programmer, déi direkt Vulkan, Metal oder Direct3D benotzen. WebGPU bitt och zousätzlech Méiglechkeeten fir nativ Grafikprogrammer an eng Form ze portéieren, déi a Browser lafe kann, dank der Kompilatioun a WebAssembly.

Schlësselmerkmale vun der WebGPU an Ënnerscheeder vu WebGL:

  • Separat Gestioun vu Ressourcen, Virbereedungsaarbecht an Iwwerdroung vun Kommandoen op d'GPU (am WebGL war een Objet op eemol verantwortlech fir alles). Dräi getrennte Kontexter ginn ugebueden: GPUDevice fir Ressourcen wéi Texturen a Puffer ze kreéieren; GPUCommandEncoder fir d'Kodéierung vun eenzelne Kommandoen, dorënner Render- a Berechnungsstadien; GPUCommandBuffer fir an der GPU auszeféieren. D'Resultat kann an engem Gebitt, deen mat engem oder méi Canvas Elementer assoziéiert ginn, oder ouni Ausgang veraarbecht ginn (zum Beispill wann Dir Rechenaufgaben leeft). D'Trennung vun de Bühnen mécht et méi einfach d'Ressourcekreatioun an d'Virbereedungsoperatioune a verschidde Handler ze trennen, déi op verschiddene Threads lafen kënnen.
  • Eng aner Approche zu Veraarbechtung Staaten. WebGPU bitt zwee Objekter - GPURenderPipeline an GPUComputePipeline, déi Iech erlaben verschidde Staaten viraus definéiert vum Entwéckler ze kombinéieren, wat de Browser erlaabt net Ressourcen op zousätzlech Aarbecht ze verschwenden, sou wéi d'Recompilatioun vun Shaders. Ënnerstëtzt Staaten enthalen: Shaders, Vertex-Puffer an Attribut Layouten, Sticky Group Layouten, Vermëschung, Déift a Mustere, a Post-Render Output Formater.
  • E bindende Modell ähnlech wéi de Vulkan Ressource Gruppéierungsfeatures. Fir d'Ressourcen zesummen ze gruppéieren, bitt WebGPU e GPUBindGroup-Objet, dee mat aneren ähnlechen Objete verbonne ka ginn fir an Shaders ze benotzen beim Schreiwen vun Kommandoen. Schafe vun esou Gruppen erlaabt de Chauffeur déi néideg Virbereedungssëtzung Aktiounen am Viraus ze Leeschtunge, an erlaabt de Browser Ressourcen Bindungen tëscht Zeechnen rifft vill méi séier ze änneren. De Layout vun de Ressourceverbindunge ka virdefinéiert ginn mat dem GPUBindGroupLayout Objet.

Source: opennet.ru

Setzt e Commentaire