มีอะไรใหม่ใน WebGPU (Chrome 113)

François Beaufort
François Beaufort

หลังจากพัฒนามาหลายปี ทีม Chrome ประกาศว่าตอนนี้ WebGPU เวอร์ชันแรกพร้อมใช้งานใน Chrome บน ChromeOS, macOS และ Windows โดยค่าเริ่มต้นแล้ว ดูข้อมูลเพิ่มเติมได้ที่ Chrome เปิดตัว WebGPU

นอกจากนี้ เรายังเริ่มเพิ่มเอกสารประกอบที่ครอบคลุมสำหรับ WebGPU ใน MDN ด้วย

และยังมีอีก

ใช้แหล่งที่มาของ WebCodecs VideoFrame ใน importExternalTexture()

WebGPU แสดง API เพื่อสร้างออบเจ็กต์ "เท็กซ์เจอร์ภายนอก" แบบทึบจาก HTMLVideoElement ถึง importExternalTexture() คุณใช้ออบเจ็กต์เหล่านี้เพื่อสุ่มตัวอย่างเฟรมวิดีโอได้อย่างมีประสิทธิภาพ ซึ่งอาจเป็นการสุ่มตัวอย่างแบบไม่มีการคัดลอกโดยตรงจากข้อมูล YUV ต้นทาง

อย่างไรก็ตาม ข้อกำหนด WebGPU เริ่มต้นไม่อนุญาตให้สร้างออบเจ็กต์ GPUExternalTexture จากออบเจ็กต์ VideoFrame ของ WebCodecs ความสามารถนี้มีความสำคัญต่อแอปประมวลผลวิดีโอขั้นสูงที่ใช้ WebCodecs อยู่แล้วและต้องการผสานรวม WebGPU ในไปป์ไลน์การประมวลผลวิดีโอ ขณะนี้มีการพูดคุยในปัญหา gpuweb/gpuweb#1380

เปิดใช้ฟีเจอร์

โดยค่าเริ่มต้น ฟีเจอร์นี้จะไม่ได้เปิดใช้ใน Chrome แต่คุณสามารถทดลองใช้ใน Chrome 113 ได้โดยการเปิดใช้ฟังก์ชันนี้อย่างชัดเจน คุณเปิดใช้งานได้ในเครื่องโดยเปิดใช้Flag "ฟีเจอร์สำหรับนักพัฒนาแอป WebGPU" ที่ chrome://flags/#enable-webgpu-developer-features

ขณะนี้เรากำลังดำเนินการช่วงทดลองใช้ฟีเจอร์ต้นทางเพื่อเปิดใช้ฟีเจอร์นี้สำหรับผู้เข้าชมแอปทั้งหมด โดยจะสิ้นสุดใน Chrome 118 (8 ธันวาคม 2023) หากต้องการเข้าร่วมการทดลองใช้ ให้ลงชื่อสมัครใช้และใส่องค์ประกอบเมตาที่มีโทเค็นการทดลองใช้จากต้นทางใน HTML หรือส่วนหัว HTTP ดูข้อมูลเพิ่มเติมได้ที่โพสต์เริ่มต้นใช้งาน Origin Trials

โค้ดตัวอย่าง

// Access the GPU device.
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();

// Create VideoFrame from HTMLVideoElement.
const video = document.querySelector("video");
const videoFrame = new VideoFrame(video);

const texture = device.importExternalTexture({ source: videoFrame });
// TODO: Use texture in bind group creation.

ลองดูตัวอย่างเวอร์ชันทดลองของการอัปโหลดวิดีโอด้วย WebCodecs เพื่อทดลองใช้

มีอะไรใหม่ใน WebGPU

รายการทุกอย่างที่ครอบคลุมในซีรีส์มีอะไรใหม่ใน WebGPU

Chrome 140

Chrome 139

Chrome 138

Chrome 137

Chrome 136

Chrome 135

Chrome 134

Chrome 133

Chrome 132

Chrome 131

Chrome 130

Chrome 129

Chrome 128

Chrome 127

Chrome 126

Chrome 125

Chrome 124

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Chrome 113