הצגת פרופיל מערכת

ב-Android GPU Inspector‏ (AGI), אפשר לראות ולנתח פרופיל מערכת בממשק המשתמש של System Profiler. אחרי שיוצרים פרופיל של מערכת ופותחים את קובץ המעקב ב-AGI, הכלי System Profiler מציג את נתוני הפרופיל בציר זמן עם פריטים שניתן להרחיב כדי לראות פרטים נוספים.

הרכיבים העיקריים בממשק המשתמש של System Profiler כוללים את:

  • סרגל כלים

  • ציר זמן: מציין את משך הזמן של אירועי המעקב.

  • החלונית Track (מעקב): הצגת נתוני פרופילים ביחס לציר הזמן.

  • חלונית פרטים: חלונית שאפשר להרחיב אותה כדי להציג פרטים על פריט שנבחר.

יצירת פרופיל נתונים

בקובץ מעקב, נתוני הפרופילים מאוחסנים באירועים עם חותמת זמן שנקראים אירועי מעקב. אירועי מעקב מורכבים מסוגים שונים של פלחים ומונים. לדוגמה, אירועי מעקב של CPU כוללים פרוסות תזמון, ואירועי מעקב של GPU כוללים מוני ביצועים של GPU ופרוסות של שרשורים.

בממשק המשתמש של System Profiler, בחלונית המעקב מופיעים אירועי מעקב שמוצגים בשורות שנקראות 'מסלולים', שמבוססות על ציר הזמן. רצועות מאותו סוג מוצגות בקבוצות של רצועות.

טראקים של GPU

ה-GPU עוקב אחרי פרטי פרופיילינג של ה-GPU. אלה הסוגים העיקריים של טראקים של GPU:

  1. טראקים של תור ה-GPU: פעילות ה-GPU של האפליקציה.

  2. GPU Counter Tracks: מוני החומרה של ה-GPU נדגמים במרווחי זמן קבועים.

  3. Vulkan Events Track: אירועים שקשורים ל-Vulkan API.

  4. SurfaceFlinger Tracks: אירועי SurfaceFlinger שמציינים איך מאגרי גרפיקה עוברים במערכת.

הוספת טראקים לתור ב-GPU

ל-GPU יכולים להיות אחד או יותר טראקים של תור GPU, בהתאם למספר התורים של החומרה שהופעלו במהלך המעקב. בקטע GPU Queue מופיעים נתחי פעילות שמייצגים את התקופה ואת סוג העבודה של ה-GPU שהאפליקציה השתמשה בהם.

פרוסת פעילות מכילה מטא-נתונים שאפשר לראות, כמו מאגר פקודות של Vulkan, מעבר עיבוד ומאגר מסגרות שהפעילו את העבודה. ה-Vulkan handles של האובייקטים האלה מוצגים בחלונית details באופן הבא:

  • VkCommandBuffer
  • VkRenderPass
  • VkFrameBuffer

אפשר לתת שמות ידידותיים למשתמש לאובייקטים האלה, כדי שיהיה קל לזהות אותם במעקב לצד נקודות האחיזה שלהם. לשם כך, אפשר להשתמש בפונקציה vkSetDebugUtilsObjectNameEXT מהתוסף VK_EXT_debug_utils או בפונקציה vkDebugMarkerSetObjectNameEXT מהתוסף VK_EXT_debug_marker. שני התוספים מיושמים על ידי AGI וזמינים לאפליקציה שלכם במהלך המעקב.

מעקב אחר מוני GPU

מונה ה-GPU עוקב אחרי הערך של מוני הביצועים של ה-GPU שנדגמים במרווחים קבועים, ומציג אותו בתרשים. בגרפים מוצגים שינויים בביצועים של מעבדי ה-GPU, שהם רכיבי החומרה הבסיסיים, בין הדגימות. אתם יכולים להשתמש במידע הזה כדי לזהות צווארי בקבוק בשימוש ב-GPU.

הדלפקים הזמינים הם ספציפיים לחומרה. כדי לראות תיאור קצר של כל מדד, מעבירים את העכבר מעל שם הטראק. לפרטים, ראו מדדי ביצועים של GPU.

רצועת אירועים של Vulkan

במסלול האירועים של Vulkan מוצגים אירועי Vulkan API שתועדו במהלך המעקב. סוגי האירועים למעקב הם בעיקר אירועים של שליחת תור (vkQueueSubmit שיחות). אם לוחצים על אירוע של שליחת תור, AGI מדגיש את פרוסות הפעילות של ה-GPU שמשויכות לקריאה. אפשר להשתמש בנתונים האלה כדי לבדוק את העבודה האסינכרונית שהוכנסה לתור על ידי קריאות ל-Vulkan API ואת זמן האחזור בין ה-CPU ל-GPU.

טראקים של SurfaceFlinger

SurfaceFlinger עוקב אחרי מחזור החיים של מאגרי הגרפיקה (יעדי העיבוד של שרשרת ההחלפה של האפליקציה) כשהם מתקדמים במערכת עד שהם מוצגים. האירועים מצטברים לפי מאגר כדי שיהיה קל יותר לעקוב אחרי התקורה וההשהיה שנדרשות לרכישה ולפרסום של מאגרים.

אינטראקציה עם נתוני פרופילים

בקטע הזה מוסבר איך ליצור אינטראקציה עם נתוני פרופילים בממשק המשתמש של System Profiler.

הצמדה

אפשר להצמיד טראקים וקבוצות של טראקים באמצעות לחצן ההצמדה שלהם.

כיווץ והרחבה

אפשר לכווץ חלק מהטראקים ואת כל קבוצות הטראקים. כשמכווצים חלק מקבוצות הטראקים, מוצג סיכום. לדוגמה, כשקבוצת הערוצים של המעבד מכווצת, מוצג תרשים של סה"כ השימוש במעבד.

שינוי מרחק התצוגה

ה-AGI צובר נתוני פרופילים על סמך רמת הזום. כשפותחים קובץ מעקב בפעם הראשונה, ממשק המשתמש של System Profiler מציג את הפרופיל כולו ברמת הזום המקסימלית. כדי לבדוק את הפרופיל, אפשר לחפש אזורים שמעניינים אתכם ולראות את הפרטים שלהם.

כשמגדילים או מקטינים את התצוגה של סוגים שונים של טראקים, מוצגים סוגים שונים של נתוני פרופילים. לדוגמה, בתרשימי מעקב אחר מעבד מוצגים בהתחלה חלקי זמן של כל שרשור, ואז, כשמבצעים זום אין, התרשימים משתנים ומציגים נתוני ניצול של ליבות המעבד.

לפרטים

כדי להציג מטא-נתונים מפורטים בחלונית הפרטים, בוחרים פריטים בחלונית הרצועה. אם אפשר לבחור פריט, כשמעבירים מעליו את הסמן הוא משתנה לסמן מצביע, ואז אפשר לבחור את הפריט.

בחירה של טווח זמן

אפשר לבחור טווח זמן, וכך להשוות בין אירועי מעקב ממסלולים שונים. כדי לעשות זאת, מפעילים את מצב תזמון וגוררים כדי לבחור טווח. כל מה שמחוץ לטווח מוצג בצבע עמום, ומשך הטווח מוצג.

אפשר גם לבחור את טווח הזמן של פרוסה נבחרת על ידי לחיצה על 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:

  1. בחירה: גוררים כדי לבחור פריטים בתיבה.
  2. הזזה: גוררים כדי להזיז ולגלול את הטראקים. זהו מצב ברירת המחדל.
  3. זום: גוררים אנכית כדי לשנות את מרחק התצוגה של הפריטים.
  4. תזמון: גוררים כדי לבחור טווח זמן.

אפשר גם להשתמש במקשי הצירוף האלה במצבי ניווט:

  • Shift+גוררים כדי לבחור פריטים בתיבה.
  • Space+לגרור כדי להזיז ולגלול.
  • Ctrl+לגלול כדי לשנות את מרחק התצוגה.
  • Ctrl+גוררים כדי לבחור טווח זמן.