פורסם: 20 ביולי 2023, עדכון אחרון: 11 באוגוסט 2025
WebGPU הוא API של גרפיקה לאינטרנט שמציע יתרונות משמעותיים, כמו הפחתה משמעותית בעומס העבודה של JavaScript עבור אותה גרפיקה, ושיפורים של יותר מפי שלושה בהסקת מסקנות של מודלים של למידת מכונה. הדבר אפשרי בזכות תכנות GPU גמיש וגישה ליכולות מתקדמות ש-WebGL לא מספק.
ה-API מיועד לפלטפורמת האינטרנט, והוא כולל API אידיומטי של JavaScript, שילוב עם הבטחות, תמיכה בייבוא סרטונים וחוויית פיתוח משופרת עם הודעות שגיאה ברורות.
WebGPU הוא תוצאה של שיתוף פעולה בין קבוצת הקהילה 'GPU for the Web' של W3C, שכוללת תרומות מחברות גדולות כמו Mozilla, Apple, Intel ו-Microsoft.
תמיכה בדפדפנים
הגרסה הראשונית הזו של WebGPU זמינה ב-Chrome 113, במכשירי ChromeOS עם תמיכה ב-Vulkan, במכשירי Windows עם תמיכה ב-Direct3D 12 וב-macOS. התמיכה ב-Android נוספה מאוחר יותר ב-Chrome 121 במכשירים עם Android 12 ומעלה שמבוססים על מעבדי Qualcomm ו-ARM. בקרוב נוסיף תמיכה ב-Linux ובפלטפורמות קיימות.
WebGPU הושק ב-Firefox 141 ב-Windows וב-Safari 26, בנוסף להטמעה ב-Chrome.
כדי לראות את העדכונים האחרונים בנוגע לסטטוס ההטמעה של WebGPU, אפשר לעיין בדף סטטוס ההטמעה של gpuweb.
תמיכה בספרייה
בספריות רבות של WebGL שנמצאות בשימוש נרחב כבר מתבצעת הטמעה של תמיכה ב-WebGPU, או שהיא כבר הושלמה. המשמעות היא ששימוש ב-WebGPU עשוי לדרוש שינוי של שורה אחת בלבד.
- Babylon.js תומך באופן מלא ב-WebGPU.
- PlayCanvas הודיעה על תמיכה ראשונית ב-WebGPU.
- TensorFlow.js תומך בגרסאות מותאמות ל-WebGPU של רוב האופרטורים.
- התמיכה ב-WebGPU ב-Three.js נמצאת בתהליך פיתוח. אפשר לעיין בדוגמאות.
הספרייה Dawn ל-Chromium והספרייה wgpu ל-Firefox זמינות כחבילות עצמאיות. הם מציעים ניידות גבוהה ושכבות ארגונומיות שמבצעות הפשטה של ממשקי API של כרטיסים גרפיים במערכת ההפעלה. השימוש בספריות האלה באפליקציות מקומיות מקל על העברה ל-WASM באמצעות Emscripten ו-Rust web-sys.
משאבים
WebGPU היא טכנולוגיה חשובה, ואנחנו ממליצים לעיין במקורות המידע הבאים כדי לקבל מידע נוסף:
- אפשר לעיין במפרטים של W3C ל-WebGPU ול-WGSL.
- אפשר להתנסות בדוגמאות ולעיין בסיור כדי להכיר את WGSL.
- אפשר לעיין בתיעוד של MDN.
- מומלץ לקרוא את ההסבר הרשמי ושיטות העבודה המומלצות.
- מידע נוסף על GPU compute ועל נושאים נוספים