Firefox och Safari fÄr WebGPU-stöd

Mozilla har beslutat att aktivera stöd för WebGPU API och WGSL (WebGPU Shading Language) i Firefox. För plattformen Windows WebGPU-stöd kommer att aktiveras som standard i Firefox 141, planerat till den 22 juli. WebGPU-stöd planeras sedan att aktiveras i versioner under följande mÄnader: Linux О macOS, och efter en tid i versionen för plattformen AndroidFör att manuellt aktivera WebGPU kan du anvÀnda parametrarna "dom.webgpu.enabled" och "gfx.webrender.all" pÄ sidan about:config.

I Chrome erbjöds WebGPU-stöd som standard i version 113, som slÀpptes i maj 2023. I Safari planeras WebGPU-stöd att aktiveras som standard i höst (experimentellt stöd har funnits tillgÀngligt sedan november 2021). I Firefox har experimentellt WebGPU-stöd funnits sedan 2020, men var endast aktiverat som standard i nattliga versioner av Firefox. Firefox WebGPU-implementering Àr baserad pÄ WGPU-projektkoden, skriven i Rust och kapabel att köras ovanpÄ Direct3D 12, Vulkan, OpenGL och Metal graphics API:er.

WebGPU tillhandahÄller ett liknande API som Vulkan, Metal och Direct3D 12 för att utföra operationer pÄ GPU-sidan. Förutom 3D-grafik tÀcker WebGPU Àven funktioner relaterade till att avlasta berÀkningar till GPU-sidan och exekvera shaders. Konceptuellt skiljer sig WebGPU frÄn den gamla WebGL-specifikationen pÄ ungefÀr samma sÀtt som Vulkans grafik-API skiljer sig frÄn OpenGL. Samtidigt Àr WebGPU inte baserat pÄ ett specifikt grafik-API, utan Àr ett universellt lager som anvÀnder samma lÄgnivÄprimitiver som finns tillgÀngliga i Vulkan, Metal och Direct3D.

WebGPU gör det möjligt för JavaScript-applikationer att styra organisationen, bearbetningen och överföringen av kommandon till GPU:n, och hantera tillhörande resurser, minne, buffertar, texturobjekt och kompilerade grafikshaders. Denna metod möjliggör högre prestanda för grafikapplikationer genom att minska overhead och öka effektiviteten i arbetet med GPU:n.

Med WebGPU kan du skapa plattformsoberoende, komplexa 3D-projekt som fungerar lika bra som fristÄende program som direkt anvÀnder Vulkan, Metal eller Direct3D. WebGPU erbjuder ocksÄ ytterligare funktioner för att porta inbyggda grafikprogram till ett formulÀr som kan köras i webblÀsare, tack vare kompilering till WebAssembly.

Viktiga funktioner i WebGPU och skillnader frÄn WebGL:

  • Separat hantering av resurser, förberedande arbete och överföring av kommandon till GPU (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 kodning av individuella kommandon, inklusive renderings- och berĂ€kningssteg; GPUCommandBuffer ska stĂ€llas i kö för exekvering pĂ„ GPU:n. Resultatet kan renderas i ett omrĂ„de som Ă€r associerat med ett eller flera canvaselement, eller bearbetas utan utdata (till exempel nĂ€r du kör berĂ€kningsuppgifter). Att separera stegen gör det lĂ€ttare att separera resursskapande och förberedelseoperationer i olika hanterare som kan köras pĂ„ olika trĂ„dar.
  • Ett annat förhĂ„llningssĂ€tt till att bearbeta tillstĂ„nd. WebGPU erbjuder tvĂ„ objekt - GPURenderPipeline och GPUComputePipeline, som lĂ„ter dig kombinera olika tillstĂ„nd fördefinierade av utvecklaren, vilket gör att webblĂ€saren inte slösar resurser pĂ„ ytterligare arbete, som att kompilera om shaders. TillstĂ„nd som stöds inkluderar: skuggningar, vertexbuffert- och attributlayouter, klibbiga grupplayouter, blandning, djup och mönster och utdataformat efter rendering.
  • En bindande modell ungefĂ€r som Vulkans resursgrupperingsfunktioner. För att gruppera resurser tillsammans tillhandahĂ„ller WebGPU ett GPUBindGroup-objekt, som kan associeras med andra liknande objekt för anvĂ€ndning i shaders medan du skriver kommandon. Genom att skapa sĂ„dana grupper kan föraren utföra de nödvĂ€ndiga förberedande Ă„tgĂ€rderna i förvĂ€g och gör det möjligt för webblĂ€saren att Ă€ndra resursbindningar mellan ritanrop mycket snabbare. Layouten för resursbindningar kan fördefinieras med GPUBindGroupLayout-objektet.

KĂ€lla: opennet.ru

Köp pĂ„litlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster