𝗪𝗲𝗯𝗚𝗣𝗨: จำลองอนุภาค 250,000 ตัวบนเบราว์เซอร์ของคุณ

วันนี้คือวันที่ 50 และเป็นวันสุดท้ายของซีรีส์การสร้างเทคโนโลยีใหม่จากศูนย์ในทุกๆ วัน

ผมเลือก WebGPU เพื่อปิดท้ายซีรีส์นี้ WebGPU ช่วยให้คุณสามารถจำลองอนุภาคถึง 250,000 ตัวได้โดยใช้ GPU ทั้งหมดภายในเบราว์เซอร์

CPU ของคุณมีคอร์ที่ทำงานเร็วเพียงไม่กี่คอร์ แต่ GPU ของคุณมีคอร์ขนาดเล็กจำนวนหลายพันคอร์ ในการเคลื่อนที่อนุภาค 250,000 ตัว CPU จะต้องประมวลผลทีละตัว แต่ GPU สามารถทำได้ทีละหลายพันตัวในเวลาเดียวกัน

WebGPU คือผู้สืบทอดสมัยใหม่ของ WebGL โดยใช้ compute shaders ในการรันโปรแกรมทั่วไปบนฮาร์ดแวร์ของคุณ

หลักการทำงาน:

compute shader จะรันตรรกะเดียวกันให้กับอนุภาคทุกตัวพร้อมกัน ข้อมูลจะถูกเก็บไว้ใน GPU และเคลื่อนย้ายจากขั้นตอนการคำนวณ (compute step) ไปยังขั้นตอนการแสดงผล (render step) โดยไม่ต้องออกจากฮาร์ดแวร์ ความเร็วนี้ช่วยให้การจำลองสามารถทำงานได้ที่ 60fps

WebGPU จะกลายเป็นรากฐานสำหรับการทำ machine learning และการคำนวณหนักๆ (heavy computation) ภายในเบราว์เซอร์ มันคือเครื่องมือสำคัญสำหรับอนาคตของการพัฒนาเว็บ

ขอบคุณที่ติดตามซีรีส์นี้ คุณสามารถดูคลังโปรเจกต์ทั้งหมดได้ที่นี่

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

Archive: https://dev48v.infy.uk/techfromzero.php