מה חדש ב-WebGPU (Chrome 114)

François Beaufort
François Beaufort

אופטימיזציה של JavaScript

תורמים ל-Chromium שיפרו את הביצועים של WebGPU בשיטות GPUComputePassEncoder,‏ GPURenderPassEncoder ו-GPUCommandEncoder על ידי צמצום התקורה של ביצוע קריאות מקוד שנוצר במנוע JavaScript של V8 ל-handlers של C++ במנוע העיבוד של Blink. ראו issue chromium:1417558.

המיקרו-בנצ'מרק הבא מראה שזמן ה-CPU של קריאות מ-JavaScript יורד מכ-0.5 אלפיות השנייה לכל 10,000 ציורים לכ-0.3 אלפיות השנייה לכל 10,000 ציורים, שיפור של 40%.

צילום מסך של גרף השוואת הביצועים בדפדפן Chrome שבו רואים שיפורים בשיחות מהירות.
תרשים של נקודת השוואה ב-Chrome שמציג שיפורים בשיחות מהירות (מקור).

הפונקציה getCurrentTexture()‎ ב-canvas לא מוגדרת, ומוחזרת השגיאה InvalidStateError

הפעלת השיטה GPUCanvasContext getCurrentTexture() בלוח ציור לא מוגדר גורמת עכשיו לשגיאה InvalidStateError במקום OperationError, בהתאם למפרט WebGPU. ראו בעיה chromium:1424461.

const context = document.querySelector("canvas").getContext("webgpu");
context.getCurrentTexture(); // Throws InvalidStateError

עדכונים ב-WGSL

אפשר לכתוב וקטורים מלאים באפס של AbstractInt בתור vec2(),‏ vec3() ו-vec4(). בעיה מספר:1892 לדוגמה:

  • vec2() הוא vec2(0,0)
  • vec3() הוא vec3(0,0,0)
  • vec4() הוא vec4(0,0,0,0)

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

שיפור הודעות השגיאה

תוויות תיאור לאובייקטים לא תקינים לא מוסרות יותר, כדי שתוכלו לראות אותן בהודעות שגיאה. מידע נוסף על בעיה dawn:1771

הוספת ממשקי API חסרים ל-Node.js

השיטות GPUAdapter::requestAdapterInfo() ו-GPUBuffer::getMapState() מיושמות עכשיו ב-Node.js. מידע נוסף זמין בבעיה dawn:1761.

מה חדש ב-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