WebGPU-stöd kommer till nattversioner av Firefox

Släppt information om integrationen av WebGPU-hjälparspecifikationen i Firefox nattliga builds, vilket är nu tillhandahåller ett programmeringsgränssnitt för 3D-grafikrendering och datoranvändning på GPU-sidan, begreppsmässigt liknar API:erna Vulkan, metal och Direct3D 12. Specifikationen utvecklas av Mozilla, Google, Apple, Microsoft och communityrepresentanter i en arbetsgrupp skapad av organisationen W3C.

Huvudmålet med WebGPU är att skapa ett säkert, bekvämt, bärbart och högpresterande mjukvarugränssnitt. för användning på webbplattformen med 3D-grafikteknik och funktioner som tillhandahålls av moderna systemgrafik-API:er som Direct3D 12 på Windows, Metal på macOS och Vulkan på Linux.

Konceptuellt WebGPU skiljer sig från WebGL på samma sätt som Vulkan skiljer sig från OpenGL. och det är inte baserat på ett specifikt grafik-API, utan snarare ett universellt lager, i allmänhet, som använder samma lågnivåprimitiv som finns i Vulkan, Metal och Direct3D.

I Firefox tillhandahålls "dom.webgpu.enabled"-inställningen för att aktivera WebGPU i about:config. Förutom att rendera CanvasContext kräver också inkluderingen av WebRender-kompositsystemet ("gfx.webrender.all" i about: config).

WebGPU-implementeringen är baserad på kod från wgpu-projektet skrivet i Rust och kan köras ovanpå API:erna DX12, Vulkan och Metal på Linux, Android, Windows och macOS (stöd för DX11 och OpenGL ES 3.0 är också under utveckling) .

Om WebGPU

WebGPU tillhandahåller JavaScript-applikationer med verktyg för kontroll på lägre nivå om organisationen bearbetning och överföring av kommandon till GPU, hantering av relaterade resurser, minne, buffertar, texturobjekt och kompilerade grafikskuggningar. Detta tillvägagångssätt möjliggör grafikapplikationer med högre prestanda genom att minska overhead och öka effektiviteten i arbetet med GPU.

WebGPU gör det möjligt att skapa hela komplexa 3D-projekt för webben som inte presterar sämre än fristående program som talar direkt till Vulkan, Metal eller Direct3D, men som inte är bundna till specifika plattformar.

också ger ytterligare funktioner vid portering av inbyggda grafikprogram till en form som kan fungera utifrån webbaserad teknik genom att använda WebAssembly-teknik.

Förutom 3D-grafik, WebGPU täcker också de möjligheter som är förknippade med att eliminera GPU-sidedatorer. och stöd för att utveckla shaders. Shaders kan skrivas i WebGPU shader-språket eller specificeras i SPIR-V-mellanformatet och sedan översättas till shader-språken som stöds av nuvarande drivrutiner.

WebGPU använder separat resurshantering, förberedande arbete och kommandoöverföring till GPU:n (i WebGL var ett objekt ansvarigt för allt på en gång). Tre separata sammanhang tillhandahålls: GPUDenhet för att skapa resurser som texturer och buffertar; GPUCommandEncoder för att koda individuella kommandon, inklusive renderings- och beräkningsstegen; GPUCommandBuffer för att köa för exekvering på GPU:n.

Den andra skillnaden mellan WebGPU och WebGL är ett annat sätt att hantera tillstånd. Två objekt föreslås i WebGPU: GPURenderPipeline och GPUComputePipeline, som gör att flera tillstånd fördefinierade av utvecklaren kan kombineras, vilket gör att webbläsaren inte slösar resurser på ytterligare arbete, såsom shader-omkompilering. Tillstånd som stöds inkluderar: shaders, vertexbuffert och attributlayouter, bifogade grupplayouter, blandning, djup och mönster, utdataformat efter rendering.

Den tredje egenskapen hos WebGPU är den bindande modellen.vilket i många avseenden liknar sättet att samla resurser som finns i Vulkan. För att gruppera resurser i grupper tillhandahåller WebGPU ett GPUBindGroup-objekt som, när du skriver kommandon, kan associeras med andra liknande objekt för användning i shaders.

Genom att skapa sådana grupper kan föraren utföra de nödvändiga förberedande åtgärderna i förväg, och webbläsaren låter dig byta resursbindningar mellan pull-anrop mycket snabbare.

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


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.