באמצעות Android GPU Inspector (AGI), אפשר לבצע פרופיל מערכת שכולל מגוון רחב של אפשרויות מעקב ומדידות של ביצועי GPU באפליקציית Android. בהשוואה לכלי הפרופיל של Android Studio, AGI משלב הרבה מהיכולות האלה בכלי אחד, ואז מספק כיסוי וניתוח מעמיקים יותר של GPU. נתוני פרופיל המערכת שזמינים כוללים את הפרטים הבאים:
- נתוני מעקב אחר אפליקציות, כולל סמני ATrace
- נתונים של תזמון מעבד ותהליכים
- פרטי הביצועים של ה-GPU, כמו נתונים של מונה, פעילות ומחזור חיים
- נתוני מעקב לקריאות ל-Vulkan API
- נתוני שימוש בזיכרון
- נתוני שימוש בסוללה
System Profiler הוא רכיב AGI שמנהל את ממשק המשתמש ואת המכשור ליצירת פרופיל מערכת בכמה מסגרות של אפליקציות. הוא מבוסס על מערכת המעקב Perfetto. מידע על רכיב ה-AGI ליצירת פרופילים של פריימים ספציפיים באפליקציה מופיע במאמר סקירה כללית על כלי ליצירת פרופילים של פריימים.
שנתחיל?
במדריך למתחילים בנושא AGI מוסבר איך להגדיר AGI, לצלם פרופיל מערכת ואז לפתוח את קובץ פרטי ההעברה שנוצר. בקטע הבא מפורטות אפשרויות ההגדרה.
אפשרויות ליצירת פרופילים
בקטע הזה מתוארות האפשרויות העיקריות שזמינות כשיוצרים פרופיל לאפליקציה.
הגדרות אפליקציה
ההגדרות של Application (אפליקציה) מזהות את אפליקציית Android להפעלה ולמעקב במהלך יצירת פרופיל מערכת. בחירה של אפליקציית Android למעקב במהלך יצירת פרופיל המערכת היא אופציונלית, אבל מומלצת כי בלעדיה, קובץ המעקב שיתקבל לא יכלול סמני ATrace ופעילות GPU עבור אפליקציה.
אפשרויות איתור
באפשרויות המעקב מציינים את נתוני הפרופיל לאיסוף. הכפתור הגדרה מציג את מקורות הנתונים הזמינים.
כדי למזער את ההשפעה על הביצועים במכשיר Android כשמבצעים פרופיל למערכת, מומלץ לבחור פחות מקורות נתונים אם מגדירים את המשך של המעקב ליותר מדקה. עם זאת, במקרים של מעקב שנמשך פחות מדקה, אפשר לבחור את כל מקורות הנתונים עם השפעה מינימלית.
אפשרויות של מעבד (CPU)
האפשרות CPU מאפשרת איסוף של נתונים על תזמון תהליכים ועל CPU באמצעות ftrace. כך תוכלו לראות איזה תהליך ואיזה שרשור פועלים בכל ליבת מעבד. אפשר גם להפעיל את האפשרויות הבאות:
- תדירות ומצבי חוסר פעילות: איסוף של אירועים שקשורים לתדירות של ליבת המעבד ולשינויים במצב חוסר הפעילות, כדי שתוכלו לבדוק איך המעבד מוגדל או מוקטן בהתאם לעומס.
- תזמון שרשרות / חביון: איסוף נתונים נוספים על מצב השרשור לגבי עיכובים בתזמון השרשור וקדימות.
- פרוסות של Thread: איסוף סמני ATrace בתצוגות התהליך.
אפשרויות GPU
האפשרויות בGPU מאפשרות ליצור פרופיל של השימוש ב-GPU באפליקציה, למשל איסוף נתונים על תדירות ה-GPU ועל השימוש בזיכרון. כדי לאסוף את הנתונים האלה, צריך לציין אפליקציה למעקב בהגדרות Application. האפשרויות כוללות:
Counters: איסוף דוגמאות של מוני GPU. הנתונים האלה משמשים כדי לקבוע את עומס הפעילות ב-GPU ולאתר צווארי בקבוק, ולכן מומלץ להגדיר את ההגדרות האלה.
המונים הם ספציפיים לחומרה. לדוגמה, התדירות המינימלית לאיסוף דגימות (קצב הסקר) עשויה להיות שונה בהתאם לסוג המונה. מידע על מדדים נתמכים זמין במאמר מדדי ביצועים של GPU.
מחזור חיים של מסגרת: עוקב אחרי אירועים של SufaceFlinger, שעוזרים לקבוע איך מאגרי מסגרות עוברים דרך האפליקציה, דרך רכיב ה-compositor ומנהל החלונות. האירועים האלה מאפשרים לכם לאתר פריימים של אפליקציות שלא הוצגו ולזהות מקורות של זמן אחזור בצינור העיבוד שלכם.
פרוסות של שלב הרינדור איסוף נתונים שעוזרים לקבוע איך האפליקציה משתמשת ב-GPU.
אפשרויות Vulkan
האפשרויות של Vulkan מאפשרות מעקב אחר קריאות ל-API של Vulkan, שאפשר להפעיל לפי סוג הפונקציה. אפשר להשתמש בנתונים האלה כדי לקבוע את התקורה של ה-CPU של קריאות ל-Vulkan API. המעקב מתעד את משך הזמן של כל בקשה להפעלת פונקציה, שמוצג בפרוסות של השרשור של האפליקציה כשמנתחים את הנתונים במסלול האירועים של Vulkan.
אפשרויות אחרות
אפשרויות נוספות לפרופיל המערכת:
זיכרון: איסוף נתונים סטטיסטיים חיוניים על השימוש בזיכרון, באופן גלובלי ובכל תהליך.
סוללה: איסוף נתונים סטטיסטיים של הסוללה. כך תוכלו לקבל הערכה גסה של צריכת החשמל של האפליקציה.
העברת נתוני ה-Tracing בכוח לקובץ במכשיר: נתוני ה-Tracing מועברים בדרך כלל בסטרימינג דרך USB בזמן שה-Tracing מתבצע. כך יש הכי פחות תקורה ואפשר לבצע Tracing ארוך. עם זאת, אם נתקלתם בבעיות או שנתוני הפרופיל נמחקו בגלל השהיה ב-USB, תוכלו לבחור באפשרות הזו כדי לשמור את קובץ המעקב במכשיר. לאחר מכן, AGI יוריד את הקובץ אחרי שהמעקב יסתיים. כדי לשמור את קובץ המעקב, צריך שיהיה מספיק מקום באחסון הפנימי של המכשיר.
מצב מתקדם
הקישור Switch to advanced mode (מעבר למצב מתקדם) מפעיל את מצב ההגדרה המתקדם, שמאפשר לערוך באופן ידני את Pefetto trace configuration (הגדרת מעקב של Pefetto) שבו מאוחסנות אפשרויות הפרופיל.
צפייה בתוצאות וניתוח שלהן
כשפותחים קובץ מעקב שמכיל נתוני פרופיל של המערכת, הנתונים מוצגים בממשק המשתמש של System Profiler ב-AGI לצורך ניתוח. מידע על הצגת הנתונים מופיע במאמר הצגת פרופיל מערכת.
בנושאים האלה מוסבר איך לנתח נתוני פרופיל של המערכת באמצעות AGI:
- ניתוח זמני העיבוד של פריימים
- ניתוח יעילות הזיכרון
- ניתוח השימוש ברוחב הפס של זיכרון הטקסטורה
- ניתוח השימוש ברוחב הפס של זיכרון Vertex
- ניתוח של תזמון שרשורים