𝗪𝗲𝗯𝗚𝗣𝗨: 𝟮𝟱𝟬.𝟬𝟬𝟬 𝗣𝗮𝗿𝘁𝗶𝗸𝗲𝗹 𝗱𝗶 𝗕𝗿𝗼𝘄𝘀𝗲𝗿 𝗔𝗻𝗱𝗮
Hari ini adalah hari ke-50. Ini adalah hari terakhir dari seri saya membangun teknologi baru dari nol setiap harinya.
Saya memilih WebGPU untuk mengakhiri seri ini. WebGPU memungkinkan Anda mensimulasikan 250.000 partikel sepenuhnya di GPU Anda di dalam browser.
CPU Anda memiliki beberapa core yang cepat. GPU Anda memiliki ribuan core yang sederhana. Untuk menggerakkan 250.000 partikel, CPU memprosesnya satu per satu. GPU melakukan ribuan proses secara bersamaan.
WebGPU adalah penerus modern dari WebGL. Ia menggunakan compute shader untuk menjalankan program umum pada perangkat keras Anda.
Cara kerjanya:
- Anda membuat device untuk mengelola GPU.
- Anda membuat buffer untuk menyimpan data partikel seperti posisi dan kecepatan.
- Anda mengunggah data ke GPU satu kali.
- Anda menulis compute shader untuk menangani pergerakan.
Compute shader menjalankan logika yang sama untuk setiap partikel sekaligus. Datanya tetap berada di GPU. Data tersebut berpindah dari tahap compute ke tahap render tanpa meninggalkan perangkat keras. Kecepatan ini memungkinkan simulasi berjalan pada 60fps.
WebGPU akan menjadi fondasi bagi machine learning di dalam browser dan komputasi berat. Ini adalah alat yang vital bagi masa depan pengembangan web.
Terima kasih telah mengikuti seri ini. Anda dapat menemukan arsip lengkap dari setiap proyek di sini.
Kode lengkap: https://github.com/dev48v/webgpu-from-zero
Postingan lengkap: https://dev.to/dev48v/webgpu-i-simulated-250000-particles-entirely-on-the-gpu-in-the-browser-2o0f