WebGPU-tuki tulee Firefoxin päivittäisiin versioihin

Julkaistut tiedot WebGPU-ohjeiden integroinnista Firefoxissa joka ilta rakentaa, mikä nyt tarjoaa ohjelmointirajapinnan 3D-grafiikan käsittelyyn ja laskenta GPU-puolella, käsitteellisesti samanlainen kuin Vulkan API, metal ja Direct3D 12. Spesifikaation kehittävät Mozilla, Google, Apple, Microsoft ja yhteisön edustajat W3C-organisaation luomassa työryhmässä.

WebGPU: n päätavoitteena on luoda turvallinen, kätevä, kannettava ja korkean suorituskyvyn ohjelmistoliitäntä käytettäväksi verkkoalustalla 3D-grafiikkatekniikan ja nykyaikaisten grafiikkasovellusliittymien, kuten Direct3D 12: n Windowsissa, Metalin, MacOS: n ja Vulkanin, Linuxilla tarjoamilla ominaisuuksilla.

Käsitteellisesti, WebGPU eroaa WebGL: stä samalla tavalla kuin Vulkan eroaa OpenGL: stä ja se ei perustu tiettyyn grafiikkasovellusliittymään, pikemminkin se on yleinen kerros, joka yleensä käyttää samoja matalan tason primitiivejä, joita on saatavana Vulkanissa, Metalissä ja Direct3D: ssä.

Firefoxissa "dom.webgpu.enabled" -asetus annetaan WebGPU: n käyttöönottoa varten noin: config. CanvasContext-mallinnuksen lisäksi se vaatii myös WebRender-sävellysjärjestelmän sisällyttämisen ("gfx.webrender.all" noin: config).

WebGPU-toteutus perustuu Rustiin kirjoitettuun wgpu-projektikoodiin, ja se voi toimia DX12-, Vulkan- ja Metal-sovellusliittymien päällä Linux-, Android-, Windows- ja macOS-käyttöjärjestelmissä (DX11- ja OpenGL ES 3.0 -tukea on myös kehitteillä).

Tietoja WebGPU: sta

WebGPU tarjoaa JavaScript-sovelluksia työkaluilla alemman tason hallintaan organisaatiosta, komentojen käsittely ja siirto GPU: lle, siihen liittyvien resurssien, muistin, puskurien, tekstuurikohteiden ja koottujen graafisten varjostimien hallinta. Tämä lähestymistapa tulee mahdollistaa korkeamman suorituskyvyn grafiikkasovellukset vähentämällä yleiskustannuksia ja lisäämällä GPU: n kanssa työskentelyn tehokkuutta.

WebGPU avulla voidaan luoda kokonaisia ​​monimutkaisia ​​3D-projekteja verkkoon jotka eivät toimi huonommin kuin erilliset ohjelmat, jotka kommunikoivat suoraan Vulkanin, Metalin tai Direct3D: n kanssa, mutta eivät ole sidoksissa tiettyihin alustoihin.

myös tarjoaa lisäominaisuuksia siirtämällä natiivigrafiikkaohjelmia muotoon, joka voi toimia verkkopohjaisten tekniikoiden pohjalta käyttämällä WebAssembly-tekniikkaa.

3D-grafiikan lisäksi WebGPU kattaa myös GPU: n vieressä olevan laskennan poistamiseen liittyvät mahdollisuudet ja tuki varjostimen kehittämiselle. Varjostimet voidaan luoda WebGPU-varjostuskielellä tai määritellä SPIR-V-välimuodossa ja sitten kääntää varjostuskielille, joita nykyiset ohjaimet tukevat.

WebGPU käyttää erillistä resurssien hallintaa, valmistelutyötä ja komentojen siirtoa GPU: lle (WebGL: ssä yksi objekti oli vastuussa kaikesta kerralla). Tarjolla on kolme erillistä asiayhteyttä: GPUDevice resurssien, kuten tekstuurien ja puskurien, luomiseen; GPUCommandEncoder koodaamaan yksittäisiä komentoja, mukaan lukien renderointi- ja laskentavaiheet; GPUCommandBuffer jonottamaan suoritusta GPU: lla.

Toinen ero WebGPU: n ja WebGL: n välillä on erilainen lähestymistapa tilojen käsittelyyn. WebGPU: ssa ehdotetaan kahta objektia: GPURenderPipeline ja GPUComputePipeline, jotka mahdollistavat useiden kehittäjän ennalta määrittelemien tilojen yhdistämisen, jolloin selain ei tuhlaa resursseja lisätyöhön, kuten varjostimien uudelleen kääntämiseen. Tuettuja tiloja ovat: varjostimet, kärkipuskurit ja attribuuttiasettelut, liitteenä olevat ryhmät, sekoitus, syvyys ja kuviot, tulosteen muodot renderoinnin jälkeen.

WebGPU: n kolmas ominaisuus on sitova malli, joka monessa suhteessa muistuttaa keinoja yhdistää Vulkanissa olevia resursseja. Resurssien ryhmittelemiseksi ryhmiin WebGPU tarjoaa GPUBindGroup-objektin, joka komentoja kirjoittamalla voidaan liittää muihin vastaaviin objekteihin varjossa käytettäväksi.

Tällaisten ryhmien luominen antaa kuljettajan suorittaa tarvittavat valmistelutoiminnot etukäteen, ja selain antaa hänen vaihtaa resurssiyhteyksiä vetopuheluiden välillä paljon nopeammin.

lähde: https://hacks.mozilla.org/


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.