Chrome จะรองรับ WebGPU อยู่แล้ว และจะเปิดใช้งานตามค่าเริ่มต้น

เว็บ GPU Chrome

หลังจากพัฒนามาหลายปี ทีมงาน Chrome ก็เปิดตัว WebGPU

ไม่กี่วันที่ผ่านมา Google เปิดตัว ผ่านการประกาศ การสนับสนุนเริ่มต้นสำหรับ API กราฟิก WebGPU และภาษาแรเงา WebGPU (WGSL) ในสาขา Chrome 113ซึ่งมีกำหนดวางจำหน่ายในวันที่ 2 พฤษภาคมนี้

สำหรับผู้ที่ไม่รู้จัก WebGPU คุณควรรู้ไว้ ให้ API ที่คล้ายกับ Vulkan, Metal และ Direct3D 12 เพื่อดำเนินการด้าน GPU เช่น การเรนเดอร์และการคำนวณ และอื่นๆ อนุญาตให้ใช้ภาษา shader เพื่อเขียนโปรแกรมด้าน GPU.

เกี่ยวกับ WebGPU

ตามแนวคิด WebGPU แตกต่างจาก WebGL ในลักษณะเดียวกับที่ Vulkan graphics API แตกต่างจาก OpenGL แต่ WebGPU ไม่ได้ขึ้นอยู่กับ API กราฟิกเฉพาะ แต่เป็นเลเยอร์วัตถุประสงค์ทั่วไปที่ใช้พื้นฐานดั้งเดิมระดับต่ำแบบเดียวกับที่พบใน Vulkan โลหะและ Direct3D WebGPU ให้แอปพลิเคชัน JavaScript ที่มีการควบคุมองค์กรในระดับต่ำ การประมวลผลและการส่งคำสั่งไปยัง GPU, การจัดการทรัพยากรที่เกี่ยวข้อง, หน่วยความจำ, บัฟเฟอร์, อ็อบเจกต์พื้นผิว และตัวสร้างกราฟิกที่คอมไพล์แล้ว วิธีการนี้ช่วยให้คุณได้รับแอปพลิเคชันกราฟิกที่มีประสิทธิภาพสูงขึ้นโดยการลดค่าใช้จ่ายและเพิ่มประสิทธิภาพของ GPU

เว็บGPU ช่วยให้คุณสร้างโปรเจ็กต์ 3 มิติที่ซับซ้อนสำหรับเว็บ ที่ทำงานเช่นเดียวกับโปรแกรมแบบสแตนด์อโลนที่ใช้ Vulkan, Metal หรือ Direct3D โดยตรง แต่ไม่ได้เชื่อมโยงกับแพลตฟอร์มเฉพาะ WebGPU ยังมีตัวเลือกเพิ่มเติมสำหรับการพอร์ตโปรแกรมกราฟิกแบบเนทีฟ ลงในแบบฟอร์มที่เปิดใช้งานเว็บโดยการคอมไพล์ใน WebAssembly นอกจากกราฟิก 3 มิติแล้ว WebGPU ยังครอบคลุมถึงความเป็นไปได้ที่เกี่ยวข้องกับการถ่ายข้อมูลการคำนวณไปยังฝั่ง GPU และการเรียกใช้เชดเดอร์

จากคุณสมบัติที่สำคัญของ WebGPU เราสามารถเน้นสิ่งต่อไปนี้:

  • แยกการจัดการทรัพยากร การเตรียมงาน และการส่งคำสั่ง ไปยัง GPU (ใน WebGL วัตถุชิ้นเดียวรับผิดชอบทุกอย่างพร้อมกัน) มีบริบทแยกกันสามแบบ: GPUDevice สำหรับสร้างทรัพยากร เช่น พื้นผิวและบัฟเฟอร์ GPUCommandEncoder เพื่อเข้ารหัสคำสั่งแต่ละคำสั่ง รวมถึงขั้นตอนการประมวลผลและการคำนวณ GPUCommandBuffer เพื่อส่งไปยังคิวดำเนินการ GPU
    ผลลัพธ์สามารถแสดงในพื้นที่ที่เกี่ยวข้องกับรายการผืนผ้าใบตั้งแต่หนึ่งรายการขึ้นไป หรือแสดงผลโดยไม่มีเอาต์พุต (ตัวอย่างเช่น เมื่อเรียกใช้งานการคำนวณ) การจัดเตรียมทำให้ง่ายต่อการแยกการดำเนินการสร้างและจัดเตรียมทรัพยากรออกเป็นตัวควบคุมต่างๆ ที่สามารถทำงานบนเธรดที่แตกต่างกัน
  • วิธีการที่แตกต่างในการจัดการของรัฐ WebGPU มีออบเจกต์ XNUMX รายการ ได้แก่ GPURenderPipeline และ GPUComputePipeline ซึ่งช่วยให้คุณสามารถรวมสถานะต่างๆ ที่นักพัฒนากำหนดไว้ล่วงหน้า ทำให้เบราว์เซอร์ไม่ต้องสิ้นเปลืองทรัพยากรไปกับงานเพิ่มเติม เช่น การคอมไพล์เชดเดอร์ใหม่ สถานะที่รองรับ ได้แก่: shaders, บัฟเฟอร์จุดยอดและเค้าโครงแอตทริบิวต์, เค้าโครงกลุ่มคงที่, การผสม, ความลึกและรูปแบบ, รูปแบบเอาต์พุตหลังการแสดงผล
  • โมเดลการรวม คล้ายกับเครื่องมือการรวมทรัพยากรของ Vulkan. หากต้องการจัดกลุ่มทรัพยากรเป็นกลุ่ม WebGPU จะจัดเตรียมออบเจกต์ GPUBindGroup ที่สามารถเชื่อมโยงกับออบเจ็กต์อื่นๆ ที่คล้ายคลึงกันเพื่อใช้ใน shaders ระหว่างการบันทึกคำสั่ง
    การสร้างกลุ่มดังกล่าวช่วยให้ผู้ควบคุมสามารถดำเนินการเตรียมการที่จำเป็นได้ล่วงหน้า และช่วยให้เบราว์เซอร์สลับการผูกทรัพยากรระหว่างการเรียก Draw ได้เร็วขึ้นมาก เค้าโครงของการผูกทรัพยากรสามารถกำหนดล่วงหน้าได้โดยใช้ออบเจกต์ GPUBindGroupLayout

นอกจาก Chrome แล้ว การสนับสนุน WebGPU รุ่นทดลองได้รับการทดสอบตั้งแต่เดือนเมษายน 2020 ใน Firefox และตั้งแต่เดือนพฤศจิกายน 2021 บน Safari ในการเปิดใช้งาน WebGPU ใน Firefox คุณต้องตั้งค่าแฟล็ก dom.webgpu.enabled และ gfx.webgpu.force ใน about:config

ยังไม่มีแผนที่จะเปิดใช้งาน WebGPU เป็นค่าเริ่มต้นใน Firefox และ Safari การใช้งาน WebGPU ที่พัฒนาขึ้นสำหรับ Firefox และ Chrome มีให้ใช้งานเป็นไลบรารีแยกต่างหาก ได้แก่ Dawn (C++) และ wgpu (Rust) ที่คุณสามารถใช้เพื่อรวมการสนับสนุน WebGPU เข้ากับแอปพลิเคชันของคุณ

นอกจากนี้ สิ่งที่ควรทราบคืองานกำลังดำเนินการเพื่อเพิ่มการรองรับ WebGPU ให้กับไลบรารี JavaScript ยอดนิยมโดยใช้ WebGL ตัวอย่างเช่น ประกาศการรองรับ WebGPU เต็มรูปแบบใน Babylon.js แล้ว และบางส่วนใน Three.js , PlayCanvas และ TensorFlow.js

การดำเนินงานของ ในตอนแรก WebGPU จะเปิดใช้งานบนรุ่นสำหรับ ChromeOS, macOS และ Windows เท่านั้น ในขณะที่สำหรับ Linux และ Android การสนับสนุน WebGPU จะเปิดใช้งานในภายหลัง

สุดท้ายนี้ หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม สามารถปรึกษารายละเอียดได้ ในลิงค์ต่อไปนี้.


เป็นคนแรกที่จะแสดงความคิดเห็น

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา