موارد جدید در WebGPU (Chrome 113)

فرانسوا بوفور
François Beaufort

پس از سال‌ها توسعه، تیم کروم اعلام کرد که اولین نسخه از WebGPU اکنون به طور پیش‌فرض در کروم روی سیستم‌عامل‌های ChromeOS، macOS و ویندوز در دسترس است. برای کسب اطلاعات بیشتر، به بخش «عرضه‌های Chrome از WebGPU» مراجعه کنید.

ما همچنین شروع به اضافه کردن مستندات جامع برای WebGPU در MDN کرده‌ایم.

و موارد بیشتری هم وجود دارد.

استفاده از منبع WebCodecs VideoFrame در importExternalTexture()

WebGPU یک API را برای ایجاد اشیاء "بافت خارجی" مات از HTMLVideoElement از طریق importExternalTexture() در اختیار قرار می‌دهد. می‌توانید از این اشیاء برای نمونه‌برداری کارآمد از فریم‌های ویدیویی، به طور بالقوه به روش 0-copy مستقیماً از داده‌های YUV منبع، استفاده کنید.

با این حال، مشخصات اولیه WebGPU اجازه ایجاد اشیاء GPUExternalTexture از اشیاء WebCodecs VideoFrame نمی‌دهد. این قابلیت برای برنامه‌های پردازش ویدیوی پیشرفته که از WebCodecs استفاده می‌کنند و می‌خواهند WebGPU را در خط لوله پردازش ویدیو ادغام کنند، مهم است. بحث در حال حاضر در شماره gpuweb/gpuweb#1380 در حال انجام است.

فعال کردن ویژگی

به طور پیش‌فرض، این ویژگی در کروم فعال نیست، اما می‌توان آن را در کروم ۱۱۳ با فعال کردن صریح این قابلیت آزمایش کرد. می‌توانید آن را به صورت محلی با فعال کردن پرچم "WebGPU Developer Features" در chrome://flags/#enable-webgpu-developer-features فعال کنید.

برای فعال کردن آن برای همه بازدیدکنندگان برنامه شما، یک دوره آزمایشی origin در حال حاضر در حال انجام است و قرار است در Chrome 118 (8 دسامبر 2023) به پایان برسد. برای شرکت در این دوره آزمایشی، ثبت نام کنید و یک عنصر متا با توکن origin trial را در هدر HTML یا HTTP قرار دهید. برای اطلاعات بیشتر، به پست Get started with 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» پوشش داده شده است.

کروم ۱۴۲

کروم ۱۴۱

کروم ۱۴۰

کروم ۱۳۹

کروم ۱۳۸

کروم ۱۳۷

کروم ۱۳۶

کروم ۱۳۵

کروم ۱۳۴

کروم ۱۳۳

کروم ۱۳۲

کروم ۱۳۱

کروم ۱۳۰

کروم ۱۲۹

کروم ۱۲۸

کروم ۱۲۷

کروم ۱۲۶

کروم ۱۲۵

کروم ۱۲۴

کروم ۱۲۳

کروم ۱۲۲

کروم ۱۲۱

کروم ۱۲۰

کروم ۱۱۹

کروم ۱۱۸

کروم ۱۱۷

کروم ۱۱۶

کروم ۱۱۵

کروم ۱۱۴

کروم ۱۱۳