WebGPU Support gëtt am Chrome aktivéiert

Google huet d'Inklusioun vun der Standardunterstëtzung fir d'WebGPU Grafik API a WGSL (WebGPU Shading Language) am Chrome 113 ugekënnegt, dee geplangt ass fir den 2. Mee ze verëffentlechen. WebGPU bitt eng Programméierungs-Interface ähnlech wéi Vulkan, Metal an Direct3D 12 fir GPU-Säit Operatiounen auszeféieren wéi Rendering a Rechenzäit, an erlaabt och d'Benotzung vun enger Shader Sprooch fir Programmer ze schreiwen déi op der GPU Säit lafen. D'WebGPU Implementatioun wäert ufanks nëmmen op ChromeOS, macOS a Windows Builds aktivéiert ginn. Fir Linux an Android gëtt WebGPU Support zu engem spéideren Datum aktivéiert.

Zousätzlech zu Chrome gëtt experimentell Ënnerstëtzung fir WebGPU zënter Abrëll 2020 am Firefox an zënter November 2021 am Safari getest. Fir WebGPU am Firefox z'aktivéieren, sollt Dir d'dom.webgpu.enabled a gfx.webgpu.force-enabled Fändelen an about:config setzen. Et gi nach keng Pläng fir WebGPU als Standard am Firefox a Safari z'aktivéieren. WebGPU Implementatiounen entwéckelt fir Firefox a Chrome sinn a Form vun getrennten Bibliothéiken verfügbar - Dawn (C++) a wgpu (Rust), déi Dir benotze kënnt fir WebGPU Support an Är Uwendungen z'integréieren. D'Aarbecht ass och amgaang fir WebGPU Ënnerstëtzung fir populär JavaScript Bibliothéiken ze addéieren déi nativ WebGL benotzen. Zum Beispill, voll Ënnerstëtzung fir WebGPU schonn an Babylon.js annoncéiert, an deelweis Ënnerstëtzung an Three.js, PlayCanvas an TensorFlow.js.

Konzeptuell ënnerscheet WebGPU sech vum WebGL op vill déiselwecht Manéier wéi d'Vulkan Grafik API vun OpenGL ënnerscheet, awer WebGPU baséiert net op enger spezifescher Grafik API, awer ass eng universell Schicht déi déiselwecht niddereg-Niveau Primitiv benotzt, déi a Vulkan, Metal an Direkt 3D. WebGPU bitt JavaScript Uwendungen mat nidderegen Niveau Kontroll iwwer d'Organisatioun, d'Veraarbechtung an d'Transmissioun vun de Kommandoen op d'GPU, d'Verwalte vun assoziéierten Ressourcen, Erënnerung, Puffer, Texturobjekter a kompiléiert Grafik Shaders. Dës Approche erlaabt Iech méi héich Leeschtung fir Grafikapplikatiounen z'erreechen andeems Dir Overhead Käschten reduzéiert an d'Effizienz vun der Aarbecht mat der GPU erhéicht.

WebGPU mécht et méiglech komplex 3D Projete fir de Web ze kreéieren déi net méi schlëmm wéi Standalone Programmer déi direkt Vulkan, Metal oder Direct3D benotzen, awer net mat spezifesche Plattformen gebonnen sinn. WebGPU bitt och zousätzlech Fäegkeeten fir gebierteg Grafikprogrammer an eng Web-aktivéiert Form ze portéieren duerch Kompiléierung an WebAssembly. Zousätzlech zu 3D Grafiken enthält WebGPU och Fäegkeeten am Zesummenhang mat der Oflaaschtberechnung op d'GPU an d'Ausféierung vun Shaders.

Schlëssel Feature vu WebGPU:

  • 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