WebGPU-støtte kommer til nattlige versjoner av Firefox

Informasjon om integrering av WebGPU-hjelpespesifikasjonen utgitt i Firefox bygger nattlig, som nå gir et programmeringsgrensesnitt for 3D-grafikkbehandling og databehandling på GPU-siden, konseptuelt lik Vulkan API, metal og Direct3D 12. Spesifikasjonen utvikles av Mozilla, Google, Apple, Microsoft og representanter for samfunnet i en arbeidsgruppe opprettet av organisasjonen W3C.

Hovedmålet med WebGPU er å skape et sikkert, praktisk, bærbart og høytytende programvaregrensesnitt for bruk på webplattformen med 3D-grafikkteknologi og funksjoner som tilbys av moderne systemgrafikk-API-er som Direct3D 12 på Windows, Metal på macOS og Vulkan på Linux.

Konseptuelt, WebGPU skiller seg fra WebGL på samme måte som Vulkan skiller seg fra OpenGL og det er ikke basert på et spesifikt grafisk API, men er et universelt lag, generelt, ved å bruke de samme primitivene på lavt nivå som er tilgjengelige i Vulkan, Metal og Direct3D.

I Firefox er innstillingen "dom.webgpu.enabled" gitt for å aktivere WebGPU om: config. I tillegg til å gjengi CanvasContext, krever det også inkludering av WebRender-komposisjonssystemet ("gfx.webrender.all" i about: config).

WebGPU-implementeringen er basert på wgpu-prosjektkoden skrevet i Rust og kan fungere på toppen av DX12, Vulkan og Metal APIer på Linux, Android, Windows og macOS (DX11 og OpenGL ES 3.0-støtte er også under utvikling).

Om WebGPU

WebGPU gir JavaScript-applikasjoner verktøy for kontroll på lavere nivå om organisasjonen, den behandling og overføring av kommandoer til GPU, administrere relaterte ressurser, minne, buffere, teksturobjekter og kompilerte grafiske skyggeleggere. Denne tilnærmingen vil muliggjør grafikkapplikasjoner med høyere ytelse ved å redusere overhead og øke effektiviteten i arbeidet med GPU.

WebGPU gjør det mulig å lage komplette komplekse 3D-prosjekter for nettet som ikke fungerer dårligere enn frittstående programmer som kommuniserer direkte med Vulkan, Metal eller Direct3D, men som ikke er knyttet til spesifikke plattformer.

Også gir ekstra funksjoner ved å portere innfødte grafikkprogrammer til et skjema som kan fungere på grunnlag av nettbaserte teknologier ved å bruke WebAssembly-teknologi.

I tillegg til 3D-grafikken, WebGPU dekker også mulighetene forbundet med å eliminere databehandling ved siden av GPU og støtte for skyggeutvikling. Shaders kan opprettes på WebGPU-skyggespråket eller spesifiseres i mellomformatet SPIR-V, og deretter oversettes til skyggespråk som støttes av nåværende drivere.

WebGPU bruker separat ressursadministrasjon, forberedende arbeid og kommandoverføring til GPU (i WebGL var det ett objekt som var ansvarlig for alt på en gang). Tre separate sammenhenger er gitt: GPUDevice for å lage ressurser som teksturer og buffere; GPUCommandEncoder for å kode individuelle kommandoer, inkludert gjengivelses- og beregningstrinn; GPUCommandBuffer til kø for kjøring på GPU.

Den andre forskjellen mellom WebGPU og WebGL er en annen tilnærming til håndteringstilstander. To objekter er foreslått i WebGPU: GPURenderPipeline og GPUComputePipeline, som gjør det mulig å kombinere flere tilstander som er forhåndsdefinert av utvikleren, noe som gjør at nettleseren ikke kan kaste bort ressurser på ekstra arbeid, for eksempel å kompilere nyanser. Støttede stater inkluderer: skyggelister, toppunktbuffer og attributtoppsett, tilknyttede gruppelayouter, blanding, dybde og mønstre, etterformateringsformater.

Den tredje funksjonen i WebGPU er bindingsmodellen, som i mange henseender ligner virkemidlene for å samle ressurser som er tilstede i Vulkan. For å gruppere ressurser i grupper, gir WebGPU et GPUBindGroup-objekt som ved å skrive kommandoer kan assosieres med andre lignende objekter for bruk i skyggelister.

Opprettelsen av slike grupper tillater sjåføren å utføre de nødvendige forberedende handlingene på forhånd, og nettleseren lar ham bytte ressurskoblinger mellom trekkanrop mye raskere.

Fuente: https://hacks.mozilla.org/


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.