หลังจากพัฒนามาหลายปี ทีม Chrome ได้จัดส่ง WebGPU ที่ช่วยให้กราฟิก 3 มิติประสิทธิภาพสูง และการประมวลผลด้านข้อมูลคู่ขนานบนเว็บ
ทีม Chrome ยินดีอย่างยิ่งที่จะประกาศว่าตอนนี้ WebGPU พร้อมให้ใช้งานแล้วโดยค่าเริ่มต้นใน Chrome 113 ซึ่งขณะนี้อยู่ในเวอร์ชันเบต้า WebGPU คือ API กราฟิกบนเว็บแบบใหม่ซึ่งมีประโยชน์ที่สำคัญ เช่น ลดปริมาณงาน JavaScript ลงได้อย่างมากสำหรับกราฟิกเดียวกัน และการปรับปรุงการอนุมานโมเดลแมชชีนเลิร์นนิงมากกว่า 3 เท่า ซึ่งเป็นไปได้เนื่องจากการเขียนโปรแกรม GPU ที่ยืดหยุ่นมากขึ้นและการเข้าถึงความสามารถขั้นสูงที่ WebGL ไม่มี
WebGPU รุ่นแรกพร้อมใช้งานใน ChromeOS, macOS และ Windows การรองรับแพลตฟอร์มอื่นๆ จะพร้อมให้บริการภายในปีนี้
การออกแบบกราฟิกบนเว็บแบบใหม่
WebGPU คือ API ใหม่สำหรับเว็บที่แสดงความสามารถของฮาร์ดแวร์ที่ทันสมัย และอนุญาตการแสดงผลและการประมวลผลบน GPU ในลักษณะเดียวกับ Direct3D 12, Metal และ Vulkan WebGPU แตกต่างจากกลุ่ม API ในตระกูล WebGL ตรงที่ให้คุณเข้าถึงฟีเจอร์ GPU ขั้นสูงได้มากขึ้นและให้การสนับสนุนขั้นสูงสำหรับการคำนวณทั่วไปของ GPU API ออกแบบมาโดยคำนึงถึงแพลตฟอร์มเว็บเป็นหลัก ประกอบด้วย JavaScript API ที่มีลักษณะเฉพาะ การผสานรวมกับคำสัญญา การสนับสนุนการนำเข้าวิดีโอ และประสบการณ์ที่ยอดเยี่ยมสำหรับนักพัฒนาซอฟต์แวร์พร้อมข้อความแสดงข้อผิดพลาดที่ยอดเยี่ยม
WebGPU รุ่นแรกนี้เป็นองค์ประกอบที่ใช้สร้างสรรค์สำหรับการอัปเดตและการเพิ่มประสิทธิภาพในอนาคต โดย API นี้จะมีฟีเจอร์กราฟิกขั้นสูงมากขึ้น และเราขอแนะนำให้นักพัฒนาแอปส่งคำขอฟีเจอร์เพิ่มเติม นอกจากนี้ ทีม Chrome ยังมีแผนที่จะให้สิทธิ์เข้าถึงแกนของตัวปรับแสงเงาในเชิงลึกยิ่งขึ้นเพื่อการเพิ่มประสิทธิภาพแมชชีนเลิร์นนิงมากยิ่งขึ้น และการยศาสตร์เพิ่มเติมใน WGSL ซึ่งเป็น WebGPU Shading Language
WebGPU เกิดขึ้นจากความร่วมมือของกลุ่มชุมชน "GPU for the Web" ของ W3C ซึ่งรวมถึงการสนับสนุนจากบริษัทขนาดใหญ่ เช่น Mozilla, Apple, Intel และ Microsoft หลังจากพัฒนามา 6 ปี (ผู้ร่วมให้ข้อมูล 90 คน, คอมมิต 2,000 คน, ปัญหา 3,000 รายการ) จากการออกแบบเริ่มต้นในปี 2017 การใช้งานครั้งแรกก็พร้อมใช้งานใน Chrome แล้ว โดยกำลังรองรับ Firefox และ Safari
ทั้งไลบรารี Dawn สำหรับ Chromium และไลบรารี wgpu สำหรับ Firefox มีให้ใช้งานเป็นแบบแพ็กเกจเดี่ยวๆ และไลบรารีเหล่านี้มีความสามารถในการถ่ายโอนได้อย่างดีเยี่ยมและเลเยอร์ตามหลักสรีรศาสตร์ที่เป็นนามธรรมของ API GPU ของระบบปฏิบัติการ การใช้ไลบรารีเหล่านี้ในแอปพลิเคชันที่มาพร้อมเครื่องยังช่วยให้พอร์ตไปยัง WASM ผ่าน Emscripten และ Rust web-sys ได้ง่ายขึ้นอีกด้วย
การสนับสนุนเบราว์เซอร์
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
- Three.js กำลังรองรับ WebGPU โปรดดูตัวอย่าง
แหล่งข้อมูล
WebGPU เป็นเทคโนโลยีที่สำคัญและเราขอแนะนำให้ใช้แหล่งข้อมูลต่อไปนี้เพื่อเรียนรู้เพิ่มเติม
- โปรดดูข้อมูลจำเพาะของ W3C สำหรับ WebGPU และ WGSL
- ทดสอบกับตัวอย่างและสำรวจ WGSL ด้วยทัวร์ชม
- โปรดดูเอกสารประกอบ MN
- อ่านผู้อธิบายอย่างเป็นทางการและแนวทางปฏิบัติแนะนำ
- ดูข้อมูลเกี่ยวกับการประมวลผล GPU และอื่นๆ
บริการรับรองคำให้การ
ขอขอบคุณผู้มีส่วนร่วมใน Chromium ทุกคน และโดยเฉพาะทีม Intel ที่ให้การสนับสนุนอันทรงคุณค่าในการทำให้งานนี้เป็นจริงขึ้นมา