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

François Beaufort
François Beaufort

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

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

และยังมีอีกมากมาย

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

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

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

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

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

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

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

// 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 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