WebGPU: 250,000 חלקיקים בדפדפן שלך
היום הוא היום ה-50. זהו היום האחרון בסדרה שלי, שבה אני בונה טכנולוגיות חדשות מאפס בכל יום.
בחרתי ב-WebGPU כדי לסיים את הסדרה הזו. WebGPU מאפשר לכם לסמלץ 250,000 חלקיקים באופן מלא על ה-GPU שלכם בתוך הדפדפן.
ל-CPU שלכם יש כמה ליבות מהירות. ל-GPU שלכם יש אלפי ליבות פשוטות. כדי להזיז 250,000 חלקיקים, CPU מעבד אותם אחד אחד. GPU מבצע אלפים בדיוק באותו הזמן.
WebGPU הוא היורש המודרני של WebGL. הוא משתמש ב-compute shaders כדי להריץ תוכניות כלליות על החומרה שלכם.
איך זה עובד:
- אתם יוצרים device לניהול ה-GPU.
- אתם יוצרים buffer כדי להחזיק נתוני חלקיקים כמו מיקום ומהירות.
- אתם מעלים את הנתונים ל-GPU פעם אחת.
- אתם כותבים compute shader כדי לטפל בתנועה.
ה-compute shader מריץ את אותה לוגיקה עבור כל חלקיק בבת אחת. הנתונים נשארים ב-GPU. הם עוברים משלב ה-compute לשלב ה-render מבלי לעזוב את החומרה. המהירות הזו מאפשרת לסימולציה לרוץ ב-60fps.
WebGPU יהפוך לבסיס ללמידת מכונה (machine learning) וחישובים כבדים בתוך הדפדפן. זהו כלי חיוני לעתיד של פיתוח ה-web.
תודה שאתם עוקבים אחרי הסדרה הזו. תוכלו למצוא את הארכיון המלא של כל פרויקט כאן.
Full code: https://github.com/dev48v/webgpu-from-zero
Complete post: https://dev.to/dev48v/webgpu-i-simulated-250000-particles-entirely-on-the-gpu-in-the-browser-2o0f