WebGPU: 250,000 Partikel Di Pelayar Anda

Ini menandakan Hari ke-50. Ini adalah hari terakhir siri saya di mana saya membina teknologi baharu dari awal setiap hari. Saya mahu mengakhirinya dengan WebGPU.

Saya mensimulasikan 250,000 partikel sepenuhnya pada GPU di dalam pelayar.

CPU anda mempunyai beberapa teras yang pantas. GPU anda mempunyai beribu-ribu teras yang ringkas. CPU menggerakkan partikel satu demi satu. GPU menggerakkan beribu-ribu partikel pada masa yang sama.

WebGPU adalah pengganti moden kepada WebGL. Ia memberikan pelayar anda akses kepada perkakasan melalui compute shader. Shader ini membolehkan GPU melakukan pengiraan matematik, bukan sekadar melukis grafik.

Cara ia berfungsi:

• Anda mencipta peranti untuk menguruskan GPU. • Anda mencipta buffer untuk menyimpan data partikel seperti kedudukan dan halaju. • Anda memuat naik data sekali sahaja dan menyimpannya pada GPU. • Anda menulis compute shader untuk satu partikel. • GPU menjalankan shader tersebut pada kesemua 250,000 partikel secara serentak.

Data kekal pada GPU. Ia bergerak dari langkah compute ke langkah render tanpa perlu kembali ke CPU. Kelajuan ini membolehkan simulasi berjalan pada 60fps.

WebGPU adalah asas baharu untuk pengiraan matematik dalam pelayar dan pembelajaran mesin tempatan. Ia adalah cara yang tepat untuk mengakhiri siri ini.

Terima kasih kerana mengikuti perjalanan ini. Anda boleh mencari arkib penuh bagi setiap projek di sini.

Kod penuh: https://github.com/dev48v/webgpu-from-zero

Hantaran lengkap: https://dev.to/dev48v/webgpu-i-simulated-250000-particles-entirely-on-the-gpu-in-the-browser-2o0f

Komuniti pembelajaran pilihan: https://dev48v.infy.uk/techfromzero.php