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 כוללת את הרכיבים הבאים.
איור 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.