ב-Android GPU Inspector (AGI), אפשר להציג ולנתח פרופיל מערכת בממשק המשתמש של System Profiler. אחרי שיוצרים פרופיל של מערכת ופותחים את קובץ פרטי ההעברה ב-AGI, הכלי System Profiler מציג את נתוני הפרופיל בציר זמן עם פריטים שניתן להרחיב כדי לראות פרטים נוספים.
הרכיבים העיקריים בממשק המשתמש של System Profiler כוללים את:
סרגל כלים
תיבת הטקסט של מסנן הטראקים: מסננת את הטראקים שמוצגים בחלונית track.
כפתור מידע (i): מציג נתוני מעקב ומטא-נתונים של המכשיר.
לחצן העזרה (?): מציג מקשי קיצור של המקלדת והעכבר.
ציר זמן: מציין את טווח הזמן של אירועי מעקב.
חלונית מעקב: הצגת נתוני פרופיל ביחס לציר הזמן.
חלונית פרטים: חלונית שאפשר להרחיב כדי לראות פרטים על פריט שנבחר.
יצירת פרופיל נתונים
בקובץ פרטי העברה, נתוני הפרופיל מאוחסנים באירועים עם חותמת זמן שנקראים trace events. אירועי מעקב מורכבים מסוגים שונים של פלחים ומונים. לדוגמה, אירועי מעקב של CPU כוללים פרוסות תזמון, ואילו אירועי מעקב של GPU כוללים מוני ביצועים של GPU ופרוסות של שרשורים.
בממשק המשתמש של System Profiler, בחלונית המעקב מופיעים אירועי מעקב בשורות שנקראות 'מסלולים', שמבוססות על ציר הזמן. רכיבים מאותו סוג מוצגים בקבוצות של רכיבים.
טראקים של GPU
ה-GPU עוקב אחרי פרטי פרופיילינג של ה-GPU. אלה הסוגים העיקריים של טראקים של GPU:
GPU Queue Tracks: פעילות ה-GPU של האפליקציה.
GPU Counter Tracks: מוני החומרה של ה-GPU נדגמים במרווחי זמן קבועים.
Vulkan Events Track: אירועים שקשורים ל-Vulkan API.
SurfaceFlinger Tracks: אירועי SurfaceFlinger שמציינים איך מאגרי גרפיקה עוברים במערכת.
הוספת טראקים לתור ב-GPU
למעבד גרפי יכולים להיות אחד או יותר מסוגי תורים של מעבד גרפי, בהתאם למספר התורים של החומרה שהופעלו במהלך המעקב. בקטע GPU Queue מופיעים נתונים על חלקי פעילות שמייצגים את התקופה ואת סוג העבודה של ה-GPU שהאפליקציה השתמשה בהם.
פרוסת פעילות מכילה מטא-נתונים שאפשר לראות, כמו מאגר פקודות של Vulkan, העברת עיבוד ומאגר מסגרות שהפעילו את העבודה. ה-Vulkan handles לאובייקטים האלה מוצגים בחלונית details באופן הבא:
VkCommandBufferVkRenderPassVkFrameBuffer
אפשר לתת שמות ידידותיים למשתמש לאובייקטים האלה, כדי שיהיה קל לזהות אותם במעקב לצד נקודות האחיזה שלהם. לשם כך, אפשר להשתמש בפונקציה vkSetDebugUtilsObjectNameEXT מהתוסף VK_EXT_debug_utils או בפונקציה vkDebugMarkerSetObjectNameEXT מהתוסף VK_EXT_debug_marker. שני התוספים מיושמים על ידי AGI וזמינים לאפליקציה שלכם במהלך המעקב.
נתיבי מעקב של מוני GPU
מונה ה-GPU עוקב אחרי הערך של מוני הביצועים של ה-GPU שנדגמים במרווחים קבועים, ומציג אותו בגרף. בגרפים מוצגים שינויים בביצועים של יחידות העיבוד הגרפי (GPU) – רכיבי החומרה הבסיסיים – בין הדגימות. אתם יכולים להשתמש במידע הזה כדי לזהות צווארי בקבוק בשימוש ב-GPU.
המדדים הזמינים הם ספציפיים לחומרה. כדי לראות תיאור קצר של כל מונה, מעבירים את העכבר מעל שם הטראק. לפרטים, ראו מדדי ביצועים של GPU.
מעקב אחר אירועי Vulkan
במסלול האירועים של Vulkan מוצגים אירועי Vulkan API שתועדו במהלך המעקב. סוגי האירועים למעקב הם בעיקר אירועים של שליחת תור (vkQueueSubmit calls). אם לוחצים על אירוע של שליחת תור, AGI מדגיש את פרוסות הפעילות של ה-GPU שמשויכות לקריאה. אפשר להשתמש בנתונים האלה כדי לבדוק את העבודה האסינכרונית שהוכנסה לתור על ידי קריאות ל-Vulkan API, ואת זמן האחזור בין ה-CPU ל-GPU.
מעקב אחרי SurfaceFlinger
SurfaceFlinger עוקב אחרי מחזור החיים של מאגרי גרפיקה (יעדי רינדור של שרשרת החלפה של אפליקציה) כשהם מתקדמים במערכת עד שהם מוצגים. האירועים מצטברים לפי מאגר זמני, כדי שיהיה קל יותר לעקוב אחרי התקורה וההשהיה שנדרשות לרכישה ולפרסום של מאגרים זמניים.
אינטראקציה עם נתוני פרופיל
בקטע הזה מוסבר איך לעבוד עם נתוני פרופילים בממשק המשתמש של הכלי System Profiler.
הצמדה
אפשר להצמיד טראקים וקבוצות של טראקים באמצעות לחצן ההצמדה שלהם.
כיווץ והרחבה
אפשר לכווץ חלק מהטראקים ואת כל קבוצות הטראקים. חלק מקבוצות הטראקים מציגות סיכום כשהן מכווצות. לדוגמה, כשקבוצת הערוצים של המעבד מכווצת, מוצג תרשים של סה"כ השימוש במעבד.
שינוי מרחק התצוגה
AGI צובר נתוני פרופילים על סמך רמת הזום. כשפותחים קובץ פרטי העברה בפעם הראשונה, ממשק המשתמש של System Profiler מציג את הפרופיל כולו ברמת הזום המקסימלית. אפשר לבדוק את הפרופיל על ידי איתור אזורים שמעניינים אתכם ואז הצגת הפרטים.
כשמגדילים או מקטינים את התצוגה של סוגים שונים של רצועות, מוצגים סוגים שונים של נתוני פרופיל. לדוגמה, בתרשימי מעקב אחר CPU מוצגים בהתחלה חלקי זמן של כל שרשור, ואז, כשמבצעים זום אין, מוצגים נתוני ניצול של ליבות ה-CPU.
לפרטים
כדי להציג מטא-נתונים מפורטים בחלונית הפרטים, בוחרים פריטים בחלונית הרצועות. אם אפשר לבחור פריט, כשמעבירים את הסמן מעליו הוא משתנה לסמן ואז אפשר לבחור את הפריט.
בחירה של טווח הזמן
אפשר לבחור טווח זמן, וכך להשוות בין אירועי מעקב ממסלולים שונים. כדי לעשות זאת, מפעילים את מצב תזמון וגוררים כדי לבחור טווח. כל מה שמחוץ לטווח מוצג בצבע עמום, ומשך הטווח מוצג.
אפשר גם לבחור את טווח הזמן של פרוסה נבחרת על ידי לחיצה על M. אחר כך אפשר לגלול בין הטראקים הנוספים כדי לזהות אירועים מאותו פרק זמן.
מקשי קיצור של ניווט
אפשר לנווט בין הפריטים בחלונית הרצועות באמצעות המקשים WASD או באמצעות גלילה והזזה. ב-System Profiler נעשה שימוש באותם מקשי קיצור במקלדת ובעכבר כמו ב-Systrace.
אלה קיצורי הדרך הזמינים:
-
WוגםS, אוCtrl++וגםCtrl+-כדי לשנות את המרחק מהתצוגה. - החיצים
Aו-Dאוleftו-rightמזיזים את התצוגה שמאלה וימינה. -
QוגםE, אוupוגםdown: החצים גוללים את הטראקים. - לחיצה ארוכה על
shiftמגבירה את מהירות התנועה של הניווט. -
Ctrl+גלגול גלגל העכבר מגדיל את התצוגה של הפריט שנבחר. Fמגדיל את התצוגה של פריט נבחר.-
Z+0מאפס את התצוגה ומבצע זום אאוט מלא. -
Vמחליף את ההדגשה של VSync אם היא זמינה בנתוני המעקב. - הסימן
Mמציין את הבחירה הנוכחית על ידי סימון טווח הזמן שלה. -
Hאו?מציגים את דף ההסבר של מקשי הקיצור במקלדת ובעכבר.
מעבר בין מסכים
סרגל הכלים מכיל לחצנים למעבר בין מצבי ניווט, שבוחרים את הפעולה שמבוצעת כשגוררים פריטים בחלונית הרצועה. אפשר גם לבחור את מצבי הניווט הבאים באמצעות המקשים 1, 2, 3 ו-4:
- בחירה: גוררים כדי לבחור פריטים בתיבה.
- הזזה: גוררים כדי להזיז ולגלול את הטראקים. זהו מצב ברירת המחדל.
- זום: גוררים אנכית כדי לשנות את מרחק התצוגה של הפריטים.
- תזמון: גוררים כדי לבחור טווח זמן.
אפשר גם להשתמש במקשי הצירוף האלה במצבי ניווט:
Shift+גוררים כדי לבחור פריטים בתיבה.Space+לגרור כדי להזיז ולגלול.Ctrl+לגלול כדי לשנות את מרחק התצוגה.Ctrl+גוררים כדי לבחור טווח זמן.