มีอะไรใหม่ใน 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() คุณใช้วัตถุเหล่านี้เพื่อสุ่มตัวอย่างเฟรมวิดีโอได้อย่างมีประสิทธิภาพ ซึ่งอาจเป็นแบบ 0 คัดลอกจากข้อมูล YUV ต้นทางโดยตรง

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

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

โดยค่าเริ่มต้น ระบบจะไม่เปิดใช้ฟีเจอร์นี้ใน Chrome แต่ก็สามารถทดสอบใน Chrome 113 ได้โดยการเปิดใช้ฟังก์ชันโดยเฉพาะ คุณสามารถเปิดใช้งานภายในเครื่องได้โดยเปิดใช้ "ฟีเจอร์สำหรับนักพัฒนาซอฟต์แวร์ WebGPU" flag ที่ 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

รายการทั้งหมดที่กล่าวถึงในซีรีส์ What's New in WebGPU

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