בנושא הזה מוסבר איך לבצע פרופיל של המערכת ופרופיל של מסגרת באפליקציית Android באמצעות Android GPU Inspector (AGI).
המדריך הזה מיועד למפתחים שמכירים את פיתוח הגרפיקה ב-Android.
דרישות המחשב
המחשב שבו מריצים את AGI צריך לעמוד בדרישות הבאות:
נדרשת אחת ממערכות ההפעלה הבאות:
Windows: Windows 7 ואילך.
macOS: El Capitan (10.11) ומעלה.
Linux: נדרש Java 64-bit JDK או JRE 8 (או גרסה חדשה יותר); מומלץ להשתמש ב-Ubuntu Trusty Tahr (גרסה 14.04 ואילך).
הורדה והתקנה של AGI
מורידים ומתקינים את AGI למערכת ההפעלה שלכם.
הדרישות לגבי אפליקציות ל-Android
בקטע הזה מתוארות הדרישות לאפליקציית Android שיוצרים לה פרופיל:
אפליקציית Android שלכם צריכה להיות ניתנת לניפוי באגים. מאפיין debuggable במניפסט של Android של האפליקציה צריך להיות מוגדר לערך
true. המאפיין הזה מאפשר שימוש נכון במכשירים מהדרייבר הגרפי. במקרה של אפליקציות Vulkan, המאפיין הזה מאפשר ל-AGI להוסיף שכבת Vulkan משלו כשהאפליקציה מתחילה.<application [...] android:debuggable="true">
אם האפליקציה משתמשת ב-Vulkan באופן מקורי, צריך גם את הדברים הבאים כדי להשתמש ב-AGI:
צריך להפעיל באפליקציה את שכבות האימות של Vulkan. אם הם לא מופעלים, אפשר להריץ את הפקודות הבאות כדי לאלץ את האפליקציה לפעול עם שכבות האימות שכלולות בקובץ ה-APK של AGI (
com.google.android.gapid.<abi>):app_package=<YOUR APP PACKAGE NAME HERE> abi=arm64v8a # Possible values: arm64v8a, armeabi-v7a, x86 adb shell settings put global enable_gpu_debug_layers 1 adb shell settings put global gpu_debug_app ${app_package} adb shell settings put global gpu_debug_layer_app com.google.android.gapid.${abi} adb shell settings put global gpu_debug_layers VK_LAYER_KHRONOS_validationכשמסיימים את הפרופיל, אפשר להשבית את שכבות האימות האלה באמצעות הפקודות הבאות:
adb shell settings delete global enable_gpu_debug_layers adb shell settings delete global gpu_debug_app adb shell settings delete global gpu_debug_layers adb shell settings delete global gpu_debug_layer_appהאפליקציה לא יכולה לדווח על אזהרות או שגיאות כשהיא פועלת עם שכבות האימות של Vulkan מופעלות. לפני שמבצעים פרופיל, צריך לתקן את כל שגיאות האימות של Vulkan.
אם אתם משתמשים במנהלי התקנים של GPU בגרסת בטא, צריך לכלול את המטא-נתונים הבאים בתג
<application>של מניפסט Android:<meta-data android:name="com.android.graphics.developerdriver.enable" android:value="true" />
דרישות לגבי מכשירי Android
יש דרישות מסוימות לגבי מכשירי Android שבהם אפשר להשתמש ב-AGI:
כבל USB.
צריך להפעיל ניפוי באגים באמצעות adb, ולמכשיר צריכה להיות גישה דרך adb. אם האפשרות התקנה באמצעות USB מופיעה, מפעילים אותה.
אימות המכשיר
כדי להשתמש ב-AGI, צריך מנהל התקן תואם של GPU. כדי לוודא שהכלי מספק נתוני פרופילים תקינים, הוא מבצע בדיקת אימות בפעם הראשונה שמתחברים למכשיר חדש. הבדיקה נמשכת כעשר שניות. אחרי שהמכשיר עובר את הבדיקה, אפשר להשתמש בו כדי ליצור פרופיל של אפליקציות ל-Android.
אל תפריעו למכשיר בזמן האימות. הדבר עלול לגרום לכך שהמכשיר לא יעבור את האימות. אם אימות המכשיר נכשל אבל הוא הוגדר בצורה נכונה, אפשר לנסות שוב לאמת אותו על ידי בחירה מחדש של המכשיר.
האימות הוא שלב חד-פעמי למכשיר, והתוצאות נשמרות במטמון לשימוש עתידי ב-AGI. עם זאת, AGI יפעיל שוב אימות אם הגדרת המכשיר משתנה, למשל אם מנהל ההתקן של ה-GPU או גרסת Android מתעדכנים.
אם מכשיר מופיע כמכשיר נתמך, אפשר לצפות ש-AGI יעבור את האימות. אם המכשיר לא מופיע ברשימה, סביר להניח שהדרייבר של ה-GPU לא תואם ל-AGI.
אם המכשיר נתמך אבל האימות נכשל
מוודאים שאתם עומדים בכל הדרישות של Android והדרישות של המחשב שמתוארות בקטעים הקודמים, ושהמכשיר מחובר למחשב בצורה תקינה באמצעות כבל USB.
אם אתם עומדים בכל הדרישות, אתם יכולים לדווח על בעיה במאגר GitHub שלנו ולתאר את ההתנהגות.
אם המכשיר לא נתמך
אנחנו עובדים עם שותפי ה-OEM שלנו כדי להוסיף תמיכה במכשירים נוספים. אפשר לדווח על בעיה במאגר שלנו ב-GitHub כדי לבקש תמיכה במכשיר.
לכידת נתוני פרופיל
בקטעים הבאים מוסבר איך ללכוד נתוני פרופיל ולפתוח את קובץ פרטי ההעברה שנוצר כדי לנתח את התוצאות.
הגדרת הגדרות Android
לפני שמתחילים ליצור פרופיל, צריך להגדיר את האפליקציה והמכשיר של Android שרוצים ליצור להם פרופיל.
מחברים את מכשיר Android למחשב באמצעות כבל USB.
מפעילים את AGI במחשב.
בפעם הראשונה שמפעילים את AGI, מוצג מסך Welcome (ברוכים הבאים) שבו צריך להזין את הנתיב לקובץ ההפעלה של adb. AGI שומר את ההגדרות האלה בקובץ
.agicבתיקייהHOME. אם כבר עשיתם את זה, אתם יכולים לדלג על השלב הזה.
איור 1: מסך הפתיחה. מזינים את הנתיב לקובץ ההרצה של adb בשדה Path to adb (נתיב ל-adb). תיבות הסימון שמופיעות אחרי השדה הזה הן אופציונליות.
לוחצים על Get Started (התחלה) כדי להציג את מסך ההפעלה.
איור 2: מסך ההפעלה הראשי של Android GPU Inspector. במסך ההפעלה, לוחצים על Capture a new trace (לכידת נתונים חדשים). תוצג תיבת הדו-שיח Capture A New Trace (יצירת נתוני מעקב חדשים). אפשר גם ללחוץ על הלחצן Capture System Profile trace (לכידת נתוני מעקב של פרופיל המערכת).
איור 3: תיבת הדו-שיח 'לכידת נתונים חדשים של Trace' בקטע מכשיר וסוג, בוחרים את מכשיר Android שרוצים ליצור לו פרופיל. אם הוא לא מוצג ברשימה מכשיר, לוחצים על חץ הטעינה מחדש כדי לרענן את הרשימה.
בקטע Application, בוחרים את האפליקציה שרוצים ליצור לה פרופיל. אם יש רק פעילות אחת בחבילה, אפשר לבחור את החבילה במקום את הפעילות.
AGI כולל אפליקציית Vulkan לדוגמה. כדי להשתמש באפליקציה לדוגמה במקום באפליקציה שלכם, צריך לבצע את השלבים הבאים:
לוחצים על הלחצן ... לצד השדה Application (אפליקציה).
מוצגת תיבת הדו-שיח Select an Application to Trace (בחירת אפליקציה למעקב), שבה מוצגת רשימת האפליקציות שאפשר לעקוב אחריהן במכשיר שנבחר.
בתיבת הטקסט Filter (מסנן), מקלידים
gapidכדי להציג רק אפליקציות שמכילותgapidבשם החבילה שלהן.מרחיבים את החבילה ובוחרים באפשרות com.google.android.gapid.VkSampleActivity, ואז לוחצים על OK.
תחזרו לתיבת הדו-שיח Capture A New Trace, והשדה Application יאוכלס באפליקציה שבחרתם.
בקטע Application (אפליקציה), משאירים את שאר השדות ריקים.
לוחצים על אישור.
עכשיו אפשר להשתמש ב-AGI כדי ליצור פרופילים של מערכות ומסגרות.
יצירת פרופיל של מערכת
כדי ליצור פרופיל של מערכת, מבצעים את השלבים הבאים:
במסך ההפעלה של AGI, לוחצים על Capture a new trace (לכידת נתונים חדשים) כדי להציג את תיבת הדו-שיח Capture System Profile (לכידת פרופיל מערכת).
ברשימה סוג, בוחרים באפשרות פרופיל מערכת.
בקטע Start and Duration, מגדירים את Start at לערך Manual ואת Duration לערך
2.בקטע Trace Options (אפשרויות מעקב), לוחצים על Configure (הגדרה). מוצגת רשימה של אפשרויות פרופיל.
איור 4: אפשרויות הפרופיל בתיבת הדו-שיח Capture System Profile. בוחרים את נתוני הפרופיל שרוצים לתעד.
בקטע GPU, לוחצים על Select (בחירה).
מוצגת רשימה של דלפקים לבחירה.
איור 5: בחירת מדדים. לוחצים על ברירת מחדל כדי לבחור את קבוצת המונים שמוגדרת כברירת מחדל, ואז לוחצים על אישור כדי לחזור לאפשרויות הפרופיל.
לוחצים על אישור כדי לחזור לתיבת הדו-שיח הראשית Capture System Profile (שמירת פרופיל המערכת).
בקטע Output, בוחרים Output Directory כדי לאחסן את קובצי המעקב שנוצרים במהלך יצירת הפרופיל. השדה שם הקובץ אמור להתמלא באופן אוטומטי, אבל אפשר גם לערוך אותו.
לוחצים על אישור. האפליקציה שנבחרה תופעל במכשיר Android ויוצג חלון קופץ עם הלחצן התחלה.
לוחצים על הלחצן התחלה כדי להתחיל באיסוף נתוני פרופיל, וממתינים כמה שניות עד לסיום התהליך.
לוחצים על פתיחת Trace. התצוגה הראשונית שמוצגת דומה ל-systrace.
איור 6: ממשק המשתמש של System Profiler. בנוסף לנתונים שזמינים ב-systrace, AGI מציג גם מידע על הביצועים של ה-GPU. מידע נוסף על הצגת נתוני פרופילים של מערכות AGI זמין במאמר הצגת פרופיל של מערכת AGI.
מידע על הגדרות נוספות זמין במאמר בנושא אפשרויות ליצירת פרופיל מערכת.
יצירת פרופיל של פריים
כדי ליצור פרופיל של פריים ספציפי מהאפליקציה, פועלים לפי השלבים הבאים:
במסך ההפעלה של AGI, לוחצים על Capture a new trace (לכידת נתונים חדשים) כדי להציג את תיבת הדו-שיח Capture A New Trace (לכידת נתונים חדשים). אפשר גם ללחוץ על הלחצן Capture Frame Profile trace.
ברשימה סוג, בוחרים באפשרות Vulkan או OpenGL on ANGLE, בהתאם ל-Graphics API שבו האפליקציה משתמשת. חשוב לבחור את האפשרות הנכונה, אחרת AGI לא יתעד פקודות גרפיות.
בקטע Start and Duration (התחלה ומשך), מגדירים את Start at (התחלה ב) לערך Manual (ידני). אם לחצתם על הלחצן Capture Frame Profile trace, השלב הזה כבר הושלם.
בקטע Output, בוחרים Output Directory כדי לשמור את קובצי המעקב. השדה שם הקובץ אמור להתמלא אוטומטית, אבל אפשר גם לערוך אותו.
אופציונלי: חלק מהאפליקציות יוצרות תהליך אחר שמבצע את כל העיבוד של הגרפיקה. כדי לתעד את התהליך הזה, מציינים את השם שלו.
לוחצים על אישור. האפליקציה תופעל במכשיר Android ויוצג חלון קופץ עם לחצן התחלה.
לוחצים על הלחצן התחלה וממתינים כמה שניות עד לסיום יצירת הפרופיל.
לוחצים על Open Trace (פתיחת מעקב) כדי לראות את נתוני הפרופיל. מידע על כל חלונית בממשק המשתמש של Frame Profiler זמין במאמר סקירה כללית על פרופיל מסגרת.
מידע על הגדרות נוספות זמין במאמר בנושא אפשרויות פרופיל של מסגרות.