มีอะไรใหม่ใน 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 ความสามารถนี้สำคัญสำหรับแอปประมวลผลวิดีโอขั้นสูงที่ใช้ WebCodecs อยู่แล้ว และต้องการผสานรวม 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