מה חדש ב-WebGPU ‏ (Chrome 141)

François Beaufort
François Beaufort

פורסם: 24 בספטמבר 2025

הושלם גוון IR

פרויקט ארוך טווח (מעל שנתיים וחצי) לשיפור הביצועים של החלקים הפנימיים של Tint, מהדר WGSL, הושלם. הוספנו ייצוג ביניים (IR) לחלק האחורי של המערכת, בין עץ התחביר המופשט (AST) הנוכחי לבין מחוללי הקוד של החלק האחורי של המערכת. ההשקה של IR אפשרה לצוות Chrome להסיר את כל הטרנספורמציות של AST וליצור אותן מחדש כטרנספורמציות של IR, שהן מהירות משמעותית בגלל הבדלים בארכיטקטורה. במערכת הפנימית של Tint, השינויים האלה הביאו לשיפור מהירות של עד פי שבע בפלטפורמות מסוימות.

ה-IR החדש הזה פותח פוטנציאל משמעותי לניתוח ולהמרה מתוחכמים של הצללות בקנה מידה גדול, ומבטיח לא רק שיפורים משמעותיים בביצועים, אלא גם דרך חלקה יותר ל-Chrome לספק תכונות חדשות ומלהיבות של WebGPU בעתיד.

החל מאבן הדרך הזו, כל מחוללי קוד ה-backend פועלים מתוך ייצוג ה-IR, כל הטרנספורמציות של ה-AST נמחקו, וכל קוד התמיכה של ה-AST להפעלת הטרנספורמציות הוסר.

במסגרת העבודה לשיפור ה-IR, חזית ה-SPIR-V (שמשמשת אפליקציות להמרה של SPIR-V ל-WGSL) הומרה מיצירת ייצוג של AST ליצירה ישירות ל-IR. השיפור הזה כולל גם תכונות שחיכו להן זמן רב, כמו תמיכה ב-float 16 בחזית ה-SPIR-V.

ניתוח טווח מספרים שלמים בקומפיילר WGSL

צוות Chrome משיק בהדרגה ניתוח חדש של טווח מספרים שלמים עבור Tint, מהדר שפת ההצללה של WebGPU. ניתוח טווח מספרים שלמים מעריך את הערכים המינימליים והמקסימליים שמשתנה של מספר שלם יכול לקבל במהלך הפעלת התוכנית, בלי להפעיל את התוכנית בפועל.

המטרה של התכונה הזו היא לשפר את היעילות על ידי צמצום הצורך בבדיקות גבול יקרות, והיא תופעל בקרוב כברירת מחדל בכל הפלטפורמות. ראו בעיה מספר 348701956.

עדכון SPIR-V 1.4 עבור קצה העורפי של Vulkan

התמיכה ב-SPIR-V 1.4 מושקת במכשירי Android ו-ChromeOS שבהם היא זמינה. העדכון הזה מאפשר ל-Tint, מהדר WGSL, לנצל תכונות חדשות של SPIR-V, הרחבות והוראות חדשות ליצירת קוד יעילה יותר בתרחישים מסוימים כשמבצעים קומפילציה של shaders ב-Vulkan. מידע נוסף

עדכונים לגבי שעות השחר

הכותרת webgpu.h התקנית, שמגדירה את ה-API של WebGPU C, נחשבת סוף סוף ליציבה. היציבות הזו חלה ספציפית על ה-API הליבתי שמוגדר במעלה הזרם, ולא כוללת תוספי הטמעה (לדוגמה, מ-Dawn או מ-Emdawnwebgpu), ולכן מומלץ להשתמש ב-webgpu.h שסופק על ידי ההטמעה המדויקת שאליה אתם מקשרים. הכותרת יציבה, אבל יכול להיות שעדיין תיתקלו בהבדלים לא מכוונים בין ההטמעות, כי אנחנו ממשיכים לתקן באגים ולטפל בבעיות תאימות בסביבה העסקית. אם כן, דווחו על באג.

תודה לתורם החיצוני William Candillon. עכשיו אפשר למצוא קבצים בינאריים של Dawn שנבנו מראש כארטיפקטים ב-GitHub Actions. הם כוללים קובצי ‎ .lib סטטיים ל-Android, חבילת ‎ .XCFramework ל-Apple וכל קובצי הכותרות הנדרשים. אפשר לעיין ב-Dawn PR #39 ובדוגמה של הארטיפקטים.

הסקירה הזו כוללת רק חלק מהנקודות העיקריות. רשימה מלאה של קומיטים

מה חדש ב-WebGPU

רשימה של כל הנושאים שמופיעים בסדרה What's New in WebGPU.

‫Chrome 142

Chrome 141

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