Vulkan הוא ממשק API מודרני לגרפיקה תלת-ממדית שפועל בפלטפורמות שונות ומיועד לצמצום ההפשטה בין חומרת הגרפיקה של המכשיר לבין המשחק. Vulkan הוא ממשק ה-API העיקרי לגרפיקה ברמה נמוכה ב-Android, והוא מחליף את OpenGL ES. OpenGL ES עדיין נתמך ב-Android, אבל הוא כבר לא נמצא בפיתוח פעיל של תכונות. ל-Vulkan יש את היתרונות הבאים לעומת OpenGL ES:
- ארכיטקטורה יעילה יותר עם תקורה נמוכה יותר של המעבד (CPU) במנהל ההתקן של הגרפיקה
- אסטרטגיות אופטימיזציה חדשות לשיפור הביצועים של המעבד
- תכונות גרפיות חדשות שלא זמינות ב-OpenGL ES, כמו ממשקי API ללא קשירה ומעקב אחר קרניים
Vulkan זמין ב-Android מגרסה Android 7 (רמת API 24). כל מכשירי Android 64 ביט מ-Android 10 (רמת API 29) ואילך תומכים ב-Vulkan 1.1. שמונים וחמישה אחוזים מהמכשירים הפעילים של Android תומכים ב-Vulkan. פרופיל הבסיס של Android מגדיר קבוצה מינימלית של תכונות למכשירים עם תמיכה ב-Vulkan.
Vulkan עוזרת לכם ליצור משחקים עם מראה טוב יותר וביצועים טובים יותר. Vulkan מאפשר לנצל את מלוא הפוטנציאל של חומרת גרפיקה מודרנית. Vulkan נמצא בשימוש במסגרת הרינדור של ממשק המשתמש של Android במכשירים תואמים. גרסאות עדכניות של מנועי המשחקים Unity ו-Unreal בוחרות ב-Vulkan כמעבד ברירת המחדל שלהן במכשירי Android תואמים. בפרויקט ANGLE מיושם יישום תואם של OpenGL ES API על גבי Vulkan.
שנתחיל?
C/C++
כדי ללמוד איך להשתמש ב-Vulkan במנוע משחקים בשפות C או C++ ב-Android, אפשר לעיין במאמר בנושא תחילת העבודה עם Vulkan ב-Android.
בנוסף, יש קטע כללי על Vulkan למפתחים שאינם מפתחי משחקים במסמכי Native Development Kit (NDK), שכולל את הנושאים הבאים:
- קומפיילרים של Shader לשיפור הביצועים
- שכבות אימות לניפוי באגים בקוד Vulkan
- תוספי Vulkan לפונקציונליות מותאמת אישית
- פרופיל Baseline של Android לדרישות המכשיר
מנועי משחקים
מידע על ANGLE
Vulkan הוא הממשק המועדף של Android ל-GPU. Android 15 ומעלה כולל ANGLE כשכבה אופציונלית להפעלת OpenGL ES על Vulkan. המעבר ל-ANGLE מתקנן את ההטמעה של Android OpenGL כדי לשפר את התאימות, ובמקרים מסוימים, את הביצועים.
כדי לבדוק את היציבות והביצועים של אפליקציית OpenGL ES באמצעות ANGLE במגוון רחב של מכשירי Android מגרסה 15 ואילך, מפעילים את ANGLE לחבילה באמצעות שתי פקודות ה-adb הבאות. מחליפים את package-name בחבילה שרוצים לבדוק.
adb shell settings put global angle_gl_driver_selection_pkgs package-name
adb shell settings put global angle_gl_driver_selection_values angle
ההגדרות האלה נשמרות גם אחרי הפעלה מחדש של המכשיר. כדי להשבית את ANGLE, משתמשים בפקודות הבאות:
adb shell settings delete global angle_gl_driver_selection_pkgs
adb shell settings delete global angle_gl_driver_selection_values
הסכמה לשימוש ב-ANGLE דרך מניפסט האפליקציה
ב-Android 17 ומעלה, מפתחים יכולים להוסיף דגל מטא-נתונים למניפסט של האפליקציה כדי לבקש את ANGLE כדרייבר GLES. זו לא הבטחה לשימוש ב-ANGLE, אלא אות לשימוש ב-ANGLE כדרייבר GLES. אם אי אפשר להשתמש ב-ANGLE, המערכת תשתמש במקום זאת במנהל ההתקן של gles של ספק ה-GPU.
<application android:appCategory="game">
<meta-data android:name="com.android.graphics.driver.prefer_angle" android:value="true" />
</application>
מדריך לפלאגין Android ANGLE on Vulkan

דיווח על בעיה ב-ANGLE
אם נתקלתם בבעיה כלשהי ב-ANGLE, אתם יכולים לדווח עליה באמצעות שליחתה לכלי שלנו למעקב אחר בעיות.