WebGPU

WebGPU  är arbetsnamnet för den kommande webbstandarden och JavaScript API för hårdvaruaccelererad grafik och datoranvändning , som syftar till att tillhandahålla "den senaste 3D-grafiken och beräkningsmöjligheterna". Utvecklad av W3C GPU för webben av ett team av ingenjörer från Apple , Mozilla , Microsoft , Google och mer. [ett]

Till skillnad från WebGL är WebGPU inte en direkt port för något befintligt inbyggt API. Den är baserad på API:er från Vulkan , Metal och Direct3D 12 och är designad för att ge hög prestanda över mobila och stationära plattformar. [2] Mobila plattformar kommer att vara begränsade när det gäller att skapa objekt WebGPUDevicesom kräver moderna grafiska API:er (som nämns ovan). [anteckning 1]

Den första konceptprototypen kallad NXT demonstrerades i början av 2017 av Chromium -teamet .

Google Chromes utvecklingsteam kallade det "efterträdaren" till WebGL /2 JavaScript-API :erna . [3]

Historik

Den 8 juni 2016 presenterade Google presentationen "Explicit web graphics API" för WebGL-arbetsgruppen (under ett halvårsmöte ansikte mot ansikte). [4] Presentationen täckte de grundläggande idéerna och principerna bakom skapandet av ett nytt API som så småningom kommer att ersätta WebGL, även känt som "WebGL Next".

Den 24 januari 2017 stod Khronos värd för ett "WebGL Next Ideas"-möte som sammanföll med WebGL Working Group-mötet i Vancouver. [5] Google-teamet har avslöjat en NXT-prototyp som implementerar ett nytt API som kan köras i Chromium med OpenGL eller fristående med OpenGL och Metal. NXT lånade koncept från alla Vulkan, Direct3D 12 och Metal API:er. Representanter från Apple och Mozilla visade också upp sina prototyper, byggda på Safari respektive Servo, som båda helt kopierar Metal API.

W3C Working Group

Den 7 februari 2017 föreslog Apple WebKit -teamet skapandet av en W3C-gemenskapsgrupp för att utveckla API:et. Samtidigt tillkännagav de ett tekniskt proof of concept och förslag som heter "WebGPU" baserat på Apple Metal -koncept . [6] [7] [8] Namnet WebGPU antogs senare av communitygruppen som ett arbetsnamn för en framtida standard snarare än bara Apples ursprungliga förslag. [2] Det ursprungliga förslaget har bytt namn till "WebMetal" för att undvika ytterligare förvirring. [9]

W3C Community Group "GPUs for the Web" lanserades den 16 februari 2017. Vid den tiden experimenterade alla Apple, Google och Mozilla på detta område, men bara Apples förslag skickades officiellt till "gpuweb-offers"-förrådet. [10] [11] [12] Kort därefter, den 21 mars 2017, skickade Mozilla ett WebGL Next-förslag till Khronos-förvaret baserat på Vulkan-designen. [13] [14]

Den 1 juni 2018 tillkännagav Google Chrome -teamet sin avsikt att implementera en framtida WebGPU-standard, med hänvisning till "att lösa de viktigaste problemen" som en del av standardisering över webbläsare. [2]

Teknik

WebGPU använder sitt eget shader-språk som kallas WGSL, som enkelt översätts till SPIR-V . [15] Detta val är en kompromiss mellan tre erbjudanden: Apples textbaserade WebMetal, Apple Safaris textbaserade webb HLSL /WSL och Mozillas binära SPIR-V. Tint är en WGSL-kompilator skapad av Google.

Implementering

Både Chrome och Firefox stöder WebGPU genom SPIR-V, medan arbetet fortsätter med WGSL-gränssnittet. Safari stöder WebGPU med WSL. [16]

Se även

Anteckningar

  1. "[...] WebGPUDevice kommer att kräva att den ursprungliga plattformen exponerar ett modernt grafik-API: [...]" [2]

Anteckningar

  1. GPU för Web Community Group . w3.org . Hämtad 11 september 2018. Arkiverad från originalet 10 september 2018.
  2. Ursprungsförsök . developer.chrome.com _ Hämtad 26 september 2021. Arkiverad från originalet 23 september 2021.
  3. Wallez, Corentin Explicit webbgrafik-API . Tillträdesdatum: 25 juni 2019.
  4. Wallez, Corentin; Ninomiya, Kai WebGL Nästa undersökningar . Tillträdesdatum: 25 juni 2019.
  5. Nästa generations 3D-grafik på webben , WebKit  (7 februari 2017). Arkiverad från originalet den 19 december 2021. Hämtad 24 december 2021.
  6. Apple försöker positionera Metal som en del av den nya 3D-grafikstandarden för   webben ? . AppleInsider . Hämtad 13 augusti 2018. Arkiverad från originalet 13 augusti 2018.
  7. Claburn, Thomas Web-standards-allergic Apple presenterar WebGPU, en webbgrafikstandard (8 februari 2017). Hämtad 14 augusti 2017. Arkiverad från originalet 14 augusti 2017.
  8. WebGPU-prototyp och demos . WebKit (5 april 2017). Hämtad 10 januari 2019. Arkiverad från originalet 10 januari 2019.
  9. Jackson, Dean Välkommen och att komma igång . E-postlista (16 februari 2017). Tillträdesdatum: 24 december 2021.
  10. Jackson, Dean Lägg till Apples WebGPU-förslag . Hämtad 8 mars 2019. Arkiverad från originalet 24 december 2021.
  11. Malyshau, Dzmitry Prototypar ett nytt 3D API för webben . Hämtad 16 december 2016. Arkiverad från originalet 11 februari 2017.
  12. Malyshau, Dmitry . Definiera webbplattformen  (21 mars 2017). Arkiverad 10 oktober 2020. Hämtad 24 december 2021.
  13. Malyshau, Dzmitry Mozillas bidrag: Obsidian API . Hämtad 8 mars 2019. Arkiverad från originalet 30 april 2020.
  14. Språkspecifikation för WebGPU Shading . Hämtad 24 december 2021. Arkiverad från originalet 8 september 2021.
  15. Implementeringsstatus  . _ GitHub . gpuweb. Hämtad 24 december 2021. Arkiverad från originalet 24 december 2021.

Länkar