מה'חדש ב-WebGPU (Chrome {8/}113)

François Beaufort
François Beaufort

אחרי שנים של פיתוח, צוות Chrome מודיע שהגרסה הראשונה של WebGPU זמינה עכשיו כברירת מחדל ב-Chrome ב-ChromeOS, ב-macOS וב-Windows. מידע נוסף זמין במאמר Chrome ships 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' בכתובת chrome://flags/#enable-webgpu-developer-features.

כדי להפעיל את התכונה לכל המבקרים באפליקציה, אנחנו מריצים כרגע ניסוי מקור שצפוי להסתיים ב-Chrome 118 (8 בדצמבר 2023). כדי להשתתף בתקופת הניסיון, צריך להירשם ולכלול אלמנט meta עם טוקן של תקופת הניסיון למקור, ב-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.

כדי להתנסות בטכנולוגיה הזו, אפשר לעיין בדוגמה הניסיונית Video Uploading with 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