WebGPU: 250 000 cząsteczek w Twojej przeglądarce
Dzisiaj jest 50. dzień. To ostatni dzień mojej serii, w której każdego dnia buduję nową technologię od zera.
Na zakończenie tej serii wybrałem WebGPU. WebGPU pozwala na symulację 250 000 cząsteczek całkowicie na Twoim GPU wewnątrz przeglądarki.
Twój CPU posiada kilka szybkich rdzeni. Twoje GPU posiada tysiące prostych rdzeni. Aby poruszyć 250 000 cząsteczek, CPU przetwarza je jedna po drugiej. GPU robi to tysiącami w tym samym momencie.
WebGPU to nowoczesny następca WebGL. Wykorzystuje compute shadery do uruchamiania ogólnych programów na Twoim sprzęcie.
Jak to działa:
- Tworzysz device, aby zarządzać GPU.
- Tworzysz bufor, aby przechowywać dane cząsteczek, takie jak pozycja i prędkość.
- Przesyłasz dane do GPU tylko raz.
- Piszesz compute shader, aby obsługiwał ruch.
Compute shader wykonuje tę samą logikę dla każdej cząsteczki jednocześnie. Dane pozostają na GPU. Przechodzą z etapu obliczeń do etapu renderowania bez opuszczania sprzętu. Ta prędkość pozwala na symulację w 60 fps.
WebGPU stanie się fundamentem dla uczenia maszynowego w przeglądarce oraz ciężkich obliczeń. To kluczowe narzędzie dla przyszłości web developmentu.
Dziękuję za śledzenie tej serii. Pełne archiwum wszystkich projektów znajdziesz tutaj.
Pełny kod: https://github.com/dev48v/webgpu-from-zero
Pełny wpis: https://dev.to/dev48v/webgpu-i-simulated-250000-particles-entirely-on-the-gpu-in-the-browser-2o0f
Archiwum: https://dev48v.infy.uk/techfromzero.php