WebGPU เป็น Web Graphics API ที่มีประโยชน์อย่างมาก เช่น ลดภาระงาน JavaScript อย่างมากสําหรับกราฟิกเดียวกัน และปรับปรุงการอนุมานโมเดลแมชชีนเลิร์นนิงได้มากกว่า 3 เท่า ซึ่งเป็นไปได้เนื่องจากการเขียนโปรแกรม GPU ที่ยืดหยุ่นและการเข้าถึงความสามารถขั้นสูงที่ WebGL ไม่มี
API นี้ออกแบบมาโดยคำนึงถึงแพลตฟอร์มเว็บเป็นหลัก โดยมี JavaScript API ตามแบบฉบับ การผสานรวมกับ Promises การสนับสนุนการนำเข้าวิดีโอ และประสบการณ์การใช้งานที่ยอดเยี่ยมสำหรับนักพัฒนาซอฟต์แวร์พร้อมข้อความแสดงข้อผิดพลาดที่ชัดเจน
WebGPU เป็นผลมาจากความร่วมมือของกลุ่มชุมชน "GPU สําหรับเว็บ" ของ W3C ซึ่งรวมถึงการมีส่วนร่วมจากบริษัทรายใหญ่ เช่น Mozilla, Apple, Intel และ Microsoft
การสนับสนุนเบราว์เซอร์
WebGPU เวอร์ชันแรกนี้พร้อมให้ใช้งานใน Chrome 113 บนอุปกรณ์ ChromeOS ที่รองรับ Vulkan, อุปกรณ์ Windows ที่รองรับ Direct3D 12 และ macOS เราจะรองรับ Linux, Android และการขยายการรองรับแพลตฟอร์มที่มีอยู่ในเร็วๆ นี้
WebGPU อยู่ระหว่างการพัฒนาสำหรับ Firefox และ Safari นอกเหนือจากการใช้งานครั้งแรกใน Chrome
การสนับสนุนห้องสมุด
ไลบรารี WebGL ที่ใช้กันอย่างแพร่หลายหลายรายการกําลังอยู่ในขั้นตอนการรองรับ WebGPU หรือรองรับอยู่แล้ว ซึ่งหมายความว่าการใช้ WebGPU อาจต้องทําการเปลี่ยนแปลงเพียงบรรทัดเดียวเท่านั้น
- Babylon.js รองรับ WebGPU อย่างเต็มรูปแบบ
- PlayCanvas ประกาศการรองรับ WebGPU เบื้องต้น
- TensorFlow.js รองรับโอเปอเรเตอร์ส่วนใหญ่ในเวอร์ชันที่เพิ่มประสิทธิภาพด้วย WebGPU
- กำลังอยู่ระหว่างดำเนินการรองรับ WebGPU ของ Three.js ดูตัวอย่าง
ทั้งไลบรารี Dawn สําหรับ Chromium และไลบรารี wgpu สําหรับ Firefox มีให้บริการเป็นแพ็กเกจสแตนด์อโลน เลเยอร์เหล่านี้มีความเข้ากันได้สูงและใช้งานง่าย ซึ่งจะแยก API ของ GPU ของระบบปฏิบัติการ การใช้ไลบรารีเหล่านี้ในแอปพลิเคชันเนทีฟทำให้พอร์ตไปยัง WASM ได้ง่ายขึ้นผ่าน Emscripten และ Rust web-sys
แหล่งข้อมูล
WebGPU เป็นเทคโนโลยีที่สำคัญ เราขอแนะนําแหล่งข้อมูลต่อไปนี้เพื่อดูข้อมูลเพิ่มเติม
- ดูข้อกำหนดของ W3C สำหรับ WebGPU และ WGSL
- ทดลองใช้ตัวอย่างและสำรวจ WGSL ด้วยทัวร์ชม
- ดูเอกสาร MDN
- อ่านคำอธิบายอย่างเป็นทางการและแนวทางปฏิบัติแนะนำ
- ดูข้อมูลเกี่ยวกับการประมวลผลด้วย GPU และอื่นๆ