Chrome va avea deja suport WebGPU și va fi activat implicit

WebGPU Chrome

După ani de dezvoltare, echipa Chrome lansează WebGPU

Acum cateva zile Google a dezvăluit printr-una anuntata suportul implicit pentru API-ul grafic WebGPU și limbajul de umbrire WebGPU (WGSL) în ramura Chrome 113, care este programat să fie lansat pe 2 mai.

Pentru cei care nu cunosc WebGPU, ar trebui să știți asta oferă un API similar cu Vulkan, Metal și Direct3D 12 pentru a efectua operațiuni pe partea GPU, cum ar fi randarea și calculul și, de asemenea permite utilizarea unui limbaj shader pentru a scrie programe pe partea GPU.

Despre WebGPU

Conceptual, WebGPU diferă de WebGL în același mod în care API-ul grafic Vulkan diferă de OpenGL, dar WebGPU nu se bazează pe un API grafic specific, mai degrabă este un strat de uz general care utilizează aceleași primitive de nivel scăzut găsite în Vulkan. Metal și Direct3D. WebGPU oferă aplicațiilor JavaScript control la nivel scăzut asupra organizației, procesarea și transmiterea comenzilor către GPU, gestionarea resurselor asociate, a memoriei, a bufferelor, a obiectelor de textură și a elementelor grafice compilate. Această abordare vă permite să obțineți aplicații grafice de performanță mai ridicată prin reducerea supraîncărcării și creșterea eficienței GPU-ului.

WebGPU vă permite să creați proiecte 3D complexe pentru web care funcționează la fel de bine ca programele independente care utilizează direct Vulkan, Metal sau Direct3D, dar nu sunt legate de anumite platforme. WebGPU-ul oferă, de asemenea, opțiuni suplimentare pentru portarea programelor grafice native într-un formular activat pentru web prin compilare în WebAssembly. Pe lângă grafica 3D, WebGPU acoperă și posibilitățile asociate cu descărcarea calculelor în partea GPU și rularea shader-urilor.

Dintre caracteristicile cheie ale WebGPU, putem evidenția următoarele:

  • Managementul separat al resurselor, munca pregătitoare și transmiterea comenzilor la GPU (în WebGL, un singur obiect era responsabil pentru tot deodată). Sunt furnizate trei contexte separate: GPUDevice pentru crearea de resurse precum texturi și buffere; GPUCommandEncoder pentru a codifica comenzi individuale, inclusiv etapele de procesare și calcul; GPUCommandBuffer pentru a trece la coada de execuție a GPU.
    Rezultatul poate fi redat într-o zonă asociată cu unul sau mai multe elemente de pânză sau redat fără ieșire (de exemplu, atunci când rulează sarcini de calcul). Staging-ul facilitează separarea operațiunilor de creare a resurselor și de furnizare în diferite controlere care pot rula pe fire diferite.
  • O abordare diferită a gestionării statului. WebGPU oferă două obiecte, GPURenderPipeline și GPUComputePipeline, care vă permit să combinați diferite stări predefinite de dezvoltator, făcând posibil ca browserul să nu irosească resurse pentru lucrări suplimentare, cum ar fi recompilarea shaderelor. Stările acceptate includ: shaders, vertex buffer și machete de atribute, aspecte de grup fixe, amestecare, adâncime și modele, formate de ieșire post-randare.
  • Un model obligatoriu, la fel ca instrumentele Vulkan de pooling de resurse. Pentru a grupa resursele în grupuri, WebGPU furnizează un obiect GPUBindGroup care poate fi legat de alte obiecte similare pentru utilizare în shadere în timpul înregistrării comenzilor.
    Crearea unor astfel de grupuri permite controlorului să efectueze în avans acțiunile pregătitoare necesare și permite browserului să schimbe mult mai rapid legăturile de resurse între apelurile de extragere. Aspectul legăturilor de resurse poate fi predefinit folosind obiectul GPUBindGroupLayout.

Pe lângă Chrome, Suportul experimental WebGPU a fost testat din aprilie 2020 în Firefox și din noiembrie 2021 pe Safari. Pentru a activa WebGPU în Firefox, trebuie să setați steagurile dom.webgpu.enabled și gfx.webgpu.force-enabled în about:config.

Nu există încă planuri pentru a activa WebGPU în mod implicit în Firefox și Safari. Implementările WebGPU dezvoltate pentru Firefox și Chrome sunt disponibile ca biblioteci separate: Dawn (C++) și wgpu (Rust) pe care le puteți utiliza pentru a integra suportul WebGPU în aplicațiile dvs.

De asemenea, este de remarcat faptul că se lucrează pentru adăugarea suportului WebGPU la bibliotecile JavaScript populare folosind nativ WebGL. De exemplu, suportul complet pentru WebGPU este deja declarat în Babylon.js și parțial în Three.js , PlayCanvas și TensorFlow.js.

Implementarea WebGPU va fi activat inițial doar pe versiuni pentru ChromeOS, macOS și Windows, în timp ce pentru Linux și Android, suportul WebGPU va fi activat la o dată ulterioară.

În cele din urmă, dacă sunteți interesat să aflați mai multe despre aceasta, puteți consulta detaliile În următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.