אופטימיזציה של JavaScript
השותפים ל-Chromium האיצו את הביצועים של WebGPU בשיטות GPUComputePassEncoder
, GPURenderPassEncoder
ו-GPUCommandEncoder
על ידי צמצום התקורה של ביצוע קריאות מקוד שנוצר במנוע V8 JavaScript אל handlers של C++ במנוע העיבוד של Blink. ראו בעיה ב-chromium:1417558.
המיקרובנצ'מרק הבא מראה שזמן המעבד (CPU) של קריאות מ-JavaScript יורד מ-0.5 אלפיות השנייה ל-10,000 אלפיות שנייה בערך ל-0.3 אלפיות השנייה לכל שליפה של 10,000, וזהו שיפור של 40%.
![צילום מסך של תרשים ההשוואה לשוק בדפדפן Chrome, שבו רואים שיפורים בשיחות מהירות.](https://developer.chrome.com/static/blog/new-in-webgpu-114/image/screenshot-chrome-browse-13d0e671b3d3c.png?authuser=5&hl=he)
getCurrentTexture() בבד ציור לא מוגדר גורם לשגיאה InvalidStateError
קריאה לשיטה GPUCanvasContext
getCurrentTexture()
באזור עריכה שלא הוגדר תגרום עכשיו ל-InvalidStateError
במקום OperationError
, בהתאם למפרט של WebGPU. ראו בעיה כרום: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
רשימה של כל מה שדיברנו עליו בסדרה מה חדש ב-WebGPU.
Chrome 127
- תמיכה ניסיונית ב-OpenGL ES ב-Android
- מאפיין המידע של GPUAdapter
- שיפורים ב-WebAssembly יכולת פעולה הדדית
- שיפור בשגיאות מקודד פקודות
- עדכונים לגבי זריחה
Chrome 126
- הגדלת המגבלה של maxTextureArrayLayers
- אופטימיזציה של העלאת מאגר נתונים זמני לקצה העורפי של Vulkan
- שיפורים בזמן האיסוף של Shader
- מאגרי הפקודות שנשלחים חייבים להיות ייחודיים
- עדכונים לגבי זריחה
Chrome 125
Chrome 124
- טקסטורות אחסון לקריאה בלבד ולקריאה-כתיבה
- תמיכה בעובדי שירות ובעובדים משותפים
- מאפיינים חדשים של פרטי מתאמים
- תיקוני באגים
- עדכונים לגבי זריחה
Chrome 123
- תמיכה בפונקציות מובנות של DP4a ב-WGSL
- פרמטרים בלתי מוגבלים של מצביע ב-WGSL
- תחביר תחבירי לביטול התייחסויות של מרוכבים ב-WGSL
- מצב קריאה בלבד נפרד להבטי שבלונה ובעומק
- עדכונים לגבי זריחה
Chrome 122
- הרחבת פוטנציאל החשיפה באמצעות מצב תאימות (תכונה בשלבי פיתוח)
- הגדלת המגבלה של maxVertexAttributes
- עדכונים לגבי זריחה
Chrome 121
- תמיכה ב-WebGPU ב-Android
- שימוש ב-DXC במקום ב-FXC להידור של תוכנת ההצללה ב-Windows
- שאילתות חותמות זמן באישורי מחשוב ועיבוד
- נקודות כניסה שמוגדרות כברירת מחדל למודולים של תוכנת ההצללה
- תמיכה ב-Display-p3 כמרחב צבעים של GPUExternalTexture
- מידע על ערימות זיכרון
- עדכונים לגבי זריחה
Chrome 120
- תמיכה בערכי נקודה צפה (floating-point) של 16 ביט ב-WGSL
- מרחיבים את הגבולות
- שינויים במצב העומק של סטנסיל
- עדכונים במידע על מתאם
- כימות שאילתות חותמות זמן
- תכונות לניקוי האביב
Chrome 119
- טקסטורות צפות של 32 ביט שניתן לסנן
- פורמט unorm10-10-10-2 קודקוד
- פורמט טקסטורה של IMAP10a2uint
- עדכונים לגבי זריחה
Chrome 118
- תמיכה ב-HTMLImageElement וב-ImageData ב-
copyExternalImageToTexture()
- תמיכה ניסיונית במרקם האחסון לקריאה בלבד ולקריאה בלבד
- עדכונים לגבי זריחה
Chrome 117
- ביטול הגדרה של מאגר נתונים זמני של קודקודים
- ביטול ההגדרה של קבוצת קישור
- השתקת שגיאות מיצירה של צינור עיבוד נתונים אסינכרוני כשהמכשיר אבד
- עדכונים ליצירת מודול של תוכנת ההצללה (shader) SPIR-V
- שיפור חוויית הפיתוח
- שמירה במטמון של צינורות עיבוד נתונים באמצעות פריסה שנוצרת באופן אוטומטי
- עדכונים לגבי זריחה
Chrome 116
- שילוב של קודק WebCodec
- המכשיר שאבד הוחזר על ידי GPUAdapter
requestDevice()
- הפעלת הסרטון ב-
importExternalTexture()
צריכה להיות חלקה - תאימות מפרטת
- שיפור חוויית הפיתוח
- עדכונים לגבי זריחה
Chrome 115
- תוספים נתמכים לשפות של WGSL
- תמיכה ניסיונית ב-Direct3D 11
- קבלת GPU נפרד כברירת מחדל בחיבור לחשמל
- שיפור חוויית הפיתוח
- עדכונים לגבי זריחה
Chrome 114
- אופטימיזציה של JavaScript
- getCurrentTexture() בבד ציור שלא הוגדר גורם לשגיאה InvalidStateError
- עדכונים ל-WGSL
- עדכונים לגבי זריחה