ภาพรวมของ WebGPU

François Beaufort
François Beaufort

WebGPU คือ API กราฟิกบนเว็บที่มีประโยชน์อย่างยิ่ง เช่น ภาระงาน JavaScript ที่ลดลงอย่างมากสำหรับกราฟิกเดียวกันและการปรับปรุงการอนุมานโมเดลแมชชีนเลิร์นนิงมากกว่า 3 เท่า ซึ่งเป็นไปได้เนื่องจากการเขียนโปรแกรม GPU ที่ยืดหยุ่นและการเข้าถึงความสามารถขั้นสูงที่ WebGL ไม่มี

API ออกแบบมาโดยคำนึงถึงแพลตฟอร์มเว็บเป็นหลัก ซึ่งมี JavaScript API ที่มีลักษณะเฉพาะ การผสานรวมกับคำสัญญา การรองรับการนำเข้าวิดีโอ และประสบการณ์การใช้งานที่ดีขึ้นสำหรับนักพัฒนาซอฟต์แวร์พร้อมข้อความแสดงข้อผิดพลาดที่ชัดเจน

WebGPU เกิดจากความร่วมมือของกลุ่มชุมชน "GPU for the Web" ของ W3C ซึ่งรวมถึงการสนับสนุนจากบริษัทขนาดใหญ่ เช่น Mozilla, Apple, Intel และ Microsoft

การสนับสนุนเบราว์เซอร์

WebGPU รุ่นแรกพร้อมใช้งานใน Chrome 113 บนอุปกรณ์ ChromeOS ที่รองรับ Vulkan, อุปกรณ์ Windows ที่รองรับ Direct3D 12 และ macOS การสนับสนุนเพิ่มเติมสำหรับแพลตฟอร์มที่มีอยู่สำหรับ Linux, Android และเวอร์ชันอื่นๆ จะพร้อมให้บริการในเร็วๆ นี้

นอกจากการใช้งานเบื้องต้นใน Chrome แล้ว WebGPU ยังอยู่ระหว่างการพัฒนาสําหรับ Firefox และ Safari ด้วย

การสนับสนุนเกี่ยวกับคลัง

ไลบรารี WebGL ที่ใช้กันอย่างแพร่หลายหลายไลบรารีกำลังอยู่ในขั้นตอนการติดตั้งใช้งานการสนับสนุน WebGPU อยู่แล้ว หรือได้ดำเนินการไปแล้ว ซึ่งหมายความว่าการใช้ WebGPU อาจจำเป็นต้องทำการเปลี่ยนแปลงเพียงบรรทัดเดียวเท่านั้น

  • Babylon.js มีการรองรับ WebGPU เต็มรูปแบบ
  • PlayCanvas ประกาศการรองรับ WebGPU ในช่วงแรก
  • TensorFlow.js รองรับโอเปอเรเตอร์ส่วนใหญ่ในเวอร์ชันที่เพิ่มประสิทธิภาพ WebGPU
  • ระบบกำลังดำเนินการรองรับ WebGPU Three.js โปรดดูตัวอย่าง

ทั้งไลบรารี Dawn สำหรับ Chromium และไลบรารี wgpu สำหรับ Firefox มีให้บริการเป็นแพ็กเกจแบบสแตนด์อโลน Chromebook มีความสามารถในการพกพาที่ยอดเยี่ยมและเลเยอร์ตามหลักการยศาสตร์ ซึ่ง API ของ GPU สำหรับระบบปฏิบัติการอย่างนามธรรม การใช้ไลบรารีเหล่านี้ในแอปพลิเคชันที่มาพร้อมเครื่อง ช่วยให้พอร์ตไปยัง WASM ผ่าน Emscripten และ Rust web-sys ได้ง่ายขึ้น

แหล่งข้อมูล

WebGPU เป็นเทคโนโลยีที่สำคัญและเราขอแนะนำให้ใช้แหล่งข้อมูลต่อไปนี้เพื่อเรียนรู้เพิ่มเติม