באמצעות 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. כך תוכלו לראות איזה תהליך ואיזה שרשור פועלים בכל ליבת מעבד. אפשר גם להפעיל את האפשרויות הבאות:
- תדירות ומצבי חוסר פעילות: נאספים אירועים של שינוי בתדירות הליבה של המעבד (CPU) ובמצב חוסר הפעילות, כדי שתוכלו לבדוק איך המעבד מוגדל או מוקטן בהתאם לעומס.
- תזמון שרשרות / חביון: איסוף נתונים נוספים על מצב השרשור לגבי עיכובים בתזמון השרשור וקדימות.
- פרוסות של Thread: אוסף סמני ATrace בתצוגות של התהליך.
אפשרויות GPU
האפשרויות של GPU מאפשרות פרופיילינג של השימוש ב-GPU באפליקציה, כמו איסוף נתונים על תדירות ה-GPU והשימוש בזיכרון. כדי לאסוף את הנתונים האלה, צריך לציין אפליקציה למעקב בהגדרות Application. האפשרויות כוללות:
Counters: איסוף דגימות של מוני GPU. הנתונים האלה משמשים כדי לקבוע את עומס הפעילות ב-GPU ולאתר צווארי בקבוק, ולכן מומלץ להגדיר את ההגדרות האלה.
המונים הם ספציפיים לחומרה. לדוגמה, התדירות המינימלית לאיסוף דגימות (קצב הסקר) עשויה להיות שונה בהתאם לסוג המונה. מידע על מדדים נתמכים זמין במאמר מדדי ביצועים של GPU.
מחזור חיים של פריים: עקבות של אירועי SufaceFlinger, שעוזרים לקבוע איך מאגרי פריים עוברים דרך האפליקציה, דרך רכיב ה-compositor ומנהל החלונות. האירועים האלה מאפשרים לכם לאתר פריימים של אפליקציות שלא הוצגו ולזהות מקורות של זמן אחזור בצינור העיבוד שלכם.
פרוסות של Renderstage איסוף נתונים שעוזרים לקבוע איך האפליקציה משתמשת ב-GPU.
אפשרויות Vulkan
האפשרויות של Vulkan מאפשרות מעקב אחר קריאות ל-Vulkan API, שאפשר להפעיל לפי סוג הפונקציה. אפשר להשתמש בנתונים האלה כדי לקבוע את התקורה של ה-CPU של קריאות ל-Vulkan API. המעקב מתעד את משך הזמן של כל קריאה לפונקציה, שמוצג בפרוסות של השרשור של האפליקציה כשמנתחים את הנתונים במסלול האירועים של Vulkan.
אפשרויות אחרות
אפשרויות נוספות לפרופיל המערכת:
זיכרון: איסוף נתונים סטטיסטיים חיוניים על השימוש בזיכרון, באופן גלובלי ובכל תהליך.
סוללה: איסוף נתונים סטטיסטיים של הסוללה. כך תוכלו לקבל הערכה גסה של צריכת החשמל של האפליקציה.
העברת נתוני מעקב בכוח לקובץ במכשיר: נתוני מעקב בדרך כלל מועברים בסטרימינג דרך USB בזמן שהמעקב מתבצע. כך יש הכי פחות תקורה ואפשר לבצע מעקב ארוך. עם זאת, אם נתקלתם בבעיות או שנתוני הפרופיל נמחקו בגלל השהיה ב-USB, תוכלו לבחור באפשרות הזו כדי לשמור את קובץ המעקב במכשיר. לאחר מכן, AGI יוריד את הקובץ אחרי שהמעקב יסתיים. כדי לשמור את קובץ המעקב, צריך שיהיה מספיק מקום באחסון הפנימי של המכשיר.
מצב מתקדם
הקישור מעבר למצב מתקדם מפעיל את מצב ההגדרה המתקדם, שמאפשר לערוך באופן ידני את הגדרת המעקב של Perfetto שבה מאוחסנות אפשרויות הפרופיל.
צפייה בתוצאות וניתוח שלהן
כשפותחים קובץ מעקב שמכיל נתוני פרופיל של המערכת, AGI מציג את הנתונים בממשק המשתמש של System Profiler לצורך ניתוח. מידע על הצגת הנתונים מופיע במאמר הצגת פרופיל מערכת.
בנושאים האלה מוסבר איך לנתח נתוני פרופיל של מערכת באמצעות AGI:
- ניתוח זמני העיבוד של פריימים
- ניתוח יעילות הזיכרון
- ניתוח השימוש ברוחב הפס של זיכרון הטקסטורה
- ניתוח השימוש ברוחב הפס של זיכרון Vertex
- ניתוח של תזמון השרשורים