Chrome sudah memiliki dukungan WebGPU dan akan diaktifkan secara default

WebGPU Chrome

Setelah pengembangan bertahun-tahun, tim Chrome merilis WebGPU

Beberapa hari yang lalu Google meluncurkan melalui satu pengumuman dukungan default untuk API grafis WebGPU dan WebGPU Shading Language (WGSL) di cabang Chrome 113, yang dijadwalkan rilis pada 2 Mei.

Bagi mereka yang tidak mengetahui WebGPU, Anda harus mengetahuinya menyediakan API yang mirip dengan Vulkan, Metal, dan Direct3D 12 untuk melakukan operasi sisi GPU seperti rendering dan komputasi, dan juga memungkinkan penggunaan bahasa shader untuk menulis program sisi GPU.

Tentang WebGPU

Secara konseptual, WebGPU berbeda dari WebGL dengan cara yang sama seperti API grafis Vulkan berbeda dari OpenGL, tetapi WebGPU tidak didasarkan pada API grafik tertentu, melainkan merupakan lapisan tujuan umum yang menggunakan primitif tingkat rendah yang sama yang ditemukan di Vulkan. Logam dan Direct3D. WebGPU menyediakan aplikasi JavaScript dengan kontrol tingkat rendah atas organisasi, memproses dan mengirimkan perintah ke GPU, mengelola sumber daya terkait, memori, buffer, objek tekstur, dan shader grafik yang dikompilasi. Pendekatan ini memungkinkan Anda mencapai aplikasi grafis berkinerja lebih tinggi dengan mengurangi overhead dan meningkatkan efisiensi GPU.

GPU Web memungkinkan Anda membuat proyek 3D yang kompleks untuk web yang berfungsi sebaik program mandiri yang secara langsung menggunakan Vulkan, Metal, atau Direct3D, tetapi tidak terikat pada platform tertentu. WebGPU juga menyediakan opsi tambahan untuk mem-porting program grafik asli ke formulir yang mendukung web dengan mengkompilasi di WebAssembly. Selain grafis 3D, WebGPU juga mencakup kemungkinan yang terkait dengan komputasi offloading ke sisi GPU dan menjalankan shader.

Dari fitur utama WebGPU, kami dapat menyoroti yang berikut:

  • Pisahkan manajemen sumber daya, pekerjaan persiapan dan pengiriman perintah ke GPU (di WebGL, satu objek bertanggung jawab atas semuanya sekaligus). Tiga konteks terpisah disediakan: GPUDevice untuk membuat sumber daya seperti tekstur dan buffer; GPUCommandEncoder untuk menyandikan perintah individual, termasuk tahapan pemrosesan dan perhitungan; GPUCommandBuffer untuk diteruskan ke antrean eksekusi GPU.
    Hasilnya dapat dirender di area yang terkait dengan satu atau beberapa item kanvas, atau dirender tanpa output (misalnya, saat menjalankan tugas komputasi). Pementasan memudahkan untuk memisahkan operasi pembuatan dan penyediaan sumber daya ke dalam pengontrol yang berbeda yang dapat berjalan di utas yang berbeda.
  • Pendekatan yang berbeda untuk penanganan negara. WebGPU menyediakan dua objek, GPURenderPipeline dan GPUComputePipeline, yang memungkinkan Anda menggabungkan status berbeda yang telah ditentukan sebelumnya oleh pengembang, memungkinkan browser untuk tidak membuang sumber daya untuk pekerjaan tambahan, seperti mengkompilasi ulang shader. Status yang didukung meliputi: shader, buffer vertex dan tata letak atribut, tata letak grup tetap, pencampuran, kedalaman dan pola, format keluaran pasca-render.
  • Model yang mengikat, sangat mirip dengan alat penyatuan sumber daya Vulkan. Untuk mengelompokkan sumber daya ke dalam grup, WebGPU menyediakan objek GPUBindGroup yang dapat diikat ke objek serupa lainnya untuk digunakan dalam shader selama perekaman perintah.
    Membuat grup semacam itu memungkinkan pengontrol untuk melakukan tindakan persiapan yang diperlukan sebelumnya dan memungkinkan browser untuk mengalihkan pengikatan sumber daya di antara panggilan gambar dengan lebih cepat. Tata letak pengikatan sumber daya dapat ditentukan sebelumnya menggunakan objek GPUBindGroupLayout.

Selain Chrome, dukungan WebGPU eksperimental telah diuji sejak April 2020 di Firefox dan mulai November 2021 di Safari. Untuk mengaktifkan WebGPU di Firefox, Anda harus menyetel tanda dom.webgpu.enabled dan gfx.webgpu.force-enabled di about:config.

Belum ada rencana untuk mengaktifkan WebGPU secara default di Firefox dan Safari. Implementasi WebGPU yang dikembangkan untuk Firefox dan Chrome tersedia sebagai pustaka terpisah: Dawn (C++) dan wgpu (Rust) yang dapat Anda gunakan untuk mengintegrasikan dukungan WebGPU ke dalam aplikasi Anda.

Yang juga perlu diperhatikan adalah bahwa pekerjaan sedang dilakukan untuk menambahkan dukungan WebGPU ke pustaka JavaScript populer secara native menggunakan WebGL. Misalnya, dukungan penuh WebGPU sudah dideklarasikan di Babylon.js dan sebagian di Three.js , PlayCanvas , dan TensorFlow.js.

Penerapan WebGPU awalnya hanya akan diaktifkan pada build untuk ChromeOS, macOS, dan Windows, sedangkan untuk Linux dan Android, dukungan WebGPU akan diaktifkan di kemudian hari.

Akhirnya, jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat berkonsultasi dengan detailnya Di tautan berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.