Firefox blir med i den nye generasjonen av webgrafikk: WebGPU kommer på Linux og andre plattformer

webgpu firefox

Mozilla har tatt et viktig skritt mot fremtiden for grafikkbehandling på nettet ved å kunngjøre WebGPU-støtte er aktivert som standard en Firefox 141Selv om funksjonen bare vil være aktiv på Windows-systemer i denne innledende fasen, har organisasjonen allerede bekreftet at den også vil bli aktivert i Linux- og macOS-versjonene i de påfølgende månedene, og senere på Android.

For de som ikke vil vente, er det mulig å aktivere WebGPU manuelt ved å endre parameterne dom.webgpu.enabled og gfx.webrender.all i den avanserte konfigurasjonsdelen (about:config).

WebGPU: Den nye grafikkstandarden for det moderne nettet

WebGPU representerer en revolusjon i måten nettlesere samhandler med GPU-en. I motsetning til den erfarne WebGL, Dette nye API-et tilbyr en tilnærming på lavere nivå, sammenlignbart med det Vulkan, Direct3D 12 og Metal tilbyr. i innebygde applikasjoner. Dette betyr at webapplikasjoner nå kan få tilgang til systemets grafikkkraft med større effektivitet, mindre overhead og mye bedre kontroll over ressurser og gjengivelsesoperasjoner.

I Firefox implementeres denne funksjonaliteten gjennom WGPU-prosjektet, Utviklet i Rust, fungerer det som et universelt lag over systemets ulike grafikk-API-er. Takket være denne arkitekturen, WebGPU Den kan kjøre på Direct3D 12 på Windows, Vulkan på Linux, Metal på macOS og OpenGL når det er nødvendig. Denne plattformuavhengige strategien sikrer at utviklere kan lage avanserte grafiske applikasjoner på nettet uten å bekymre seg for detaljene til hvert operativsystem.

WebGPU lar JavaScript-prosjekter administrere opprettelsen av grafiske ressurser direkte, kommandoorkestrering og datastrømming til GPU-en. Dette inkluderer alt fra tilpassede shaders til minnestrukturer som vertex- og teksturbuffere, noe som tidligere var en mer begrenset og mindre effektiv oppgave i WebGL. Med denne nye funksjonen, Nettapplikasjoner kan tilby visuelle opplevelser som tidligere var forbeholdt innebygd programvare, inkludert komplekse 3D-spill, vitenskapelige simuleringer, tredimensjonal modellering og verktøy for redigering av grafikk i sanntid.

Videre WebGPU er ikke bare ment for grafikk. også inkluderer funksjonaliteter rettet mot parallell databehandling, slik at mange prosesseringsintensive oppgaver kan utføres direkte på GPU-en. Denne tilnærmingen åpner døren for applikasjoner som kunstig intelligens i nettleseren, videobehandling og visualisering av stordata, alt med enestående ytelse for webmiljøer.

Viktige forskjeller med WebGL: fleksibilitet, ytelse og kontroll

Ett av Grunnleggende forskjeller mellom WebGPU og WebGL ligger i ressursforvaltningsmodell. WebGPU introduserer en mer strukturert og segmentert tilnærming, der hver del av grafikkprosessen håndteres uavhengig. Utviklere har spesifikke kontekster som GPUDevice for ressursoppretting, GPUCommandEncoder for kommandokoding og GPUCommandBuffer for endelig kommandoutførelse på GPU-en. Denne separasjonen forbedrer effektiviteten og forenkler parallelt arbeid mellom tråder.

Videre Definisjonen av tilstander i WebGPU bruker også en mer moderne filosofiI stedet for å stole på globale tilstander som WebGL, lar dette nye API-et utviklere definere spesifikke kombinasjoner via objekter som GPURenderPipeline og GPUComputePipeline, og unngår dermed unødvendig redundans og rekompilering.

Angående ressurskoblingssystemetWebGPU er direkte inspirert av ressurspoolingen som tilbys av VulkanVed å bruke strukturer som GPUBindGroup og GPUBindGroupLayout er det mulig å organisere tilgang til teksturer, buffere og andre data som trengs for shader-kjøring, noe som reduserer forberedelsestiden mellom ulike renderingsfaser og øker den totale ytelsen betydelig.

Med Firefox' endelige adopsjon av WebGPU, et panorama er slått sammen der de tre hovednettleserne (Chrome, Safari og nå Firefox) ta i bruk denne nye standardenChrome gjorde det i versjon 113, som ble utgitt i mai 2023, og Apple har annonsert at de vil aktivere det som standard i Safari i høst. Mozillas implementering, om enn senere, lover å skille seg ut med integrasjonen med åpen kildekode-teknologier som Rust og dens plattformuavhengige tilnærming som er designet fra grunnen av.