וולקן

Android תומך ב-Vulkan, ממשק API בפלטפורמות שונות עם תקורה נמוכה ליצירת גרפיקה תלת-ממדית עם ביצועים גבוהים. בדומה ל-OpenGL ES‏ (GLES), Vulkan מספק כלים ליצירת גרפיקה באיכות גבוהה בזמן אמת באפליקציות. היתרונות של השימוש ב-Vulkan כוללים הפחתה בעלויות העל של המעבד ותמיכה בשפה SPIR-V Binary Intermediate.

ספקי מערכת על שבב (SoC), כמו ספקי חומרה עצמאיים של GPU (IHV), יכולים לכתוב מנהלי Vulkan ל-Android. יצרני ציוד מקורי צריכים לשלב את מנהלי ההתקנים האלה במכשירים ספציפיים. פרטים על האינטראקציה של מנהל ההתקן של Vulkan עם המערכת, על אופן ההתקנה של כלים ספציפיים ל-GPU ועל דרישות ספציפיות ל-Android מפורטים במאמר הטמעת Vulkan.

מפתחי אפליקציות משתמשים ב-Vulkan כדי ליצור אפליקציות שמבצעות פקודות ב-GPU עם עלות ריבית מופחתת באופן משמעותי. בנוסף, Vulkan מספק מיפוי ישיר יותר ליכולות שקיימות בחומרת הגרפיקה הנוכחית בהשוואה ל-EGL ול-GLES, כך שפוחתות ההזדמנויות לבאגים במנהלי ההתקנים ומתקצר זמן הבדיקה של המפתחים.

למידע כללי על Vulkan, אפשר לעיין בסקירה הכללית על Vulkan או ברשימה של מקורות מידע.

רכיבי Vulkan

תמיכת Vulkan כוללת את הרכיבים הבאים.

רכיבי Vulkan

איור 1. רכיבי Vulkan

שם הרכיב ספק תיאור
שכבות אימות של Vulkan Android (ב-NDK) ספריות שנעשה בהן שימוש במהלך הפיתוח של אפליקציות Vulkan כדי למצוא שגיאות בשימוש של האפליקציה ב-Vulkan API. אחרי שמוצאים שגיאות בשימוש ב-API, צריך להסיר את הספריות האלה.
Vulkan Runtime Android ספריית Native, ‏ libvulkan.so, שמספקת Vulkan API מקורי.

רוב הפונקציונליות של Vulkan Runtime מיושמת באמצעות מנהל שמסופק על ידי ספק ה-GPU. Vulkan Runtime עוטף את מנהל ההתקן, מספק יכולות של ניתוב נתוני API (לניפוי באגים ולכלים אחרים למפתחים) ומנהל את האינטראקציה בין מנהל ההתקן לבין יחסי התלות בפלטפורמה.
Vulkan Driver SoC מיפוי של Vulkan API לפקודות GPU ספציפיות לחומרה ולאינטראקציות עם מנהל הגרפיקה של הליבה.

רכיבים ששונו

BufferQueue ו-Gralloc תומכים ב-Vulkan:

  • BufferQueue ערכים ושיטות נוספים של enum ב-BufferQueue ובממשק ANativeWindow מאפשרים ל-Vulkan Runtime להתחבר ל-BufferQueue דרך ANativeWindow.
  • Gralloc. ממשק אופציונלי מאפשר ל-Gralloc לבדוק אם אפשר להשתמש בפורמט נתון בשילוב ספציפי של יצרן/צרכן בלי להקצות מאגר.

פרטים על הרכיבים האלה זמינים במאמר BufferQueue ו-gralloc. פרטים על ANativeWindow זמינים במאמר EGLSurfaces ו-OpenGL ES.

משאבים

מקורות המידע הבאים יכולים לעזור לכם ללמוד עוד על Vulkan:

  • Vulkan Loader‏ (libvulkan.so) בכתובת platform/frameworks/native/vulkan. מכיל את מערך הטעינה של Vulkan ב-Android, וגם כמה כלים שקשורים ל-Vulkan ומועילים למפתחי פלטפורמות.
  • הטמעת Vulkan מיועד ליצרני ציוד מקורי (IHV) של GPU שכותבים מנהלי התקנים של Vulkan ל-Android, וליצרני ציוד מקורי שמשלבים את מנהלי ההתקנים האלה במכשירים ספציפיים. במאמר מוסבר איך מתבצעת האינטראקציה של מנהל Vulkan עם המערכת, איך מתקינים כלים ספציפיים ל-GPU ודרישות ההטמעה הספציפיות ל-Android.
  • מדריך Vulkan Graphics API המאמר כולל מידע על תחילת השימוש ב-Vulkan באפליקציות ל-Android, על פלטפורמת ההנחיות לעיצוב של Vulkan ב-Android, על שימוש במהדרי shader של Vulkan ועל שימוש בשכבות אימות כדי לשמור על יציבות באפליקציות שמשתמשות ב-Vulkan.
  • חדשות Vulkan. אירועים, תיקונים, מדריכים וכתבות חדשותיות נוספות שקשורות ל-Vulkan.