בעזרת Android GPU Inspector (AGI), אפשר ליצור פרופיל של פריים ספציפי באפליקציית Android ולהשתמש בו כדי לבצע ניתוח מעמיק של השימוש במעבד הגרפי (GPU) של האפליקציה. נתוני הפרופיל האלה יכולים לעזור לכם להבין טוב יותר את השימוש ב-GPU באפליקציה שלכם, יותר מאשר פרופיל המערכת לבדו.
תהליך יצירת פרופיל של פריימים באמצעות AGI מתחיל באיסוף עקבות ונתוני ביצועים אחרים, ולאחר מכן במדידה ובהצגה שלהם לצורך ניתוח.
נתוני פרופיל המסגרת שזמינים כוללים את הפרטים הבאים:
קריאות ל-Vulkan API
תוכן של Framebuffer
שיחות ציור של רשתות שעברו רינדור
ערכי RAM וזיכרון GPU לפקודות
נתוני ביצועים של GPU לאירועי עיבוד
נתונים של צינור עיבוד נתונים
רינדור נתוני מצב
משאבי טקסטורה ו-shader
שנתחיל?
במדריך למתחילים בנושא AGI מוסבר איך להגדיר AGI, ללכוד נתוני פרופיל של פריימים ואז לפתוח את קובץ המעקב שנוצר. בקטע הבא מפורטות אפשרויות ההגדרה.
אפשרויות ליצירת פרופילים
בקטע הזה מתוארות האפשרויות העיקריות שזמינות כשמצלמים פרופיל של פריים.
אפשרויות של Graphics API
אפשרויות ה-Graphics API מציינות את ה-Graphics API שבו נעשה שימוש באפליקציה. האפשרויות זמינות ברשימה Type בתיבת הדו-שיח Capture System Profile. אלה האפשרויות הזמינות:
- Vulkan: לאפליקציות שמשתמשות ישירות ב-Vulkan API.
- OpenGL ב-ANGLE: לאפליקציות שמשתמשות ב-OpenGL ES.
AGI עוקב אחרי פקודות Vulkan באופן ישיר. עם זאת, אם האפליקציה שלכם משתמשת ב-OpenGL ES, AGI משתמש בגרסה מותאמת אישית של ANGLE כדי לתרגם את הפקודות לפקודות Vulkan לפני מעקב אחר האפליקציה.
ארגומנטים נוספים
השדה Additional Arguments (ארגומנטים נוספים) מיועד להעברת דגלים נוספים לפקודה adb am start-activity
, שנשלחת למכשיר כדי להפעיל את האפליקציה במהלך יצירת הפרופיל. מידע נוסף זמין במאמר בנושא פקודות adb.
אפשרויות של שעת התחלה ומשך זמן
בקטע Start and Duration (התחלה ומשך), אפשר לציין איך AGI יצלם את הפריים כדי ליצור פרופיל. האפשרויות הבאות זמינות:
התחלה: AGI מתעד את כל הפקודות מהפעלת האפליקציה ועד לסוף הפריים הראשון שמוצג.
ידני: לוחצים על לחצן בתיבת הדו-שיח של המעקב כדי לצלם את הפריים באופן ידני.
זמן: ה-AGI מצלם באופן אוטומטי פריים אחרי שעובר מספר השניות שצוין.
פריים: ה-AGI מצלם אוטומטית את הפריים שצוין.
אפשרויות איתור
בקטע Trace Options (אפשרויות מעקב) יש הגדרות שקובעות את דגלי המעקב. אלה ההגדרות הזמינות:
השבתת ה-Buffering: השבתת ה-Buffering של הזיכרון במכשיר בזמן צילום נתונים. האפשרות הזו שימושית לניפוי באגים בקריסת אפליקציה, כי היא מבטיחה שכל נתוני המעקב יעברו סריאליזציה עד לקריסה. עם זאת, היא מגדילה מעט את התקורה של AGI במהלך יצירת הפרופיל.
הכללת תוספים שלא נתמכים: כולל תוספים שלא נתמכים על ידי AGI במכשיר. אם האפליקציה שלכם משתמשת בתוסף שלא נתמך על ידי AGI, יכול להיות שתיתקלו בהתנהגות לא רצויה, כולל שגיאות קלות או קריסות, כשמפעילים מחדש את המעקב. רשימת התוספים הנתמכים
מחיקת נתוני חבילה: אפשר להשתמש ב
pm clear
פקודת adb כדי לבקש מהמכשיר למחוק את נתוני המשתמש של האפליקציה לפני ההפעלה.
הגדרות הפלט
הקטע פלט מכיל הגדרות לאחסון קובצי מעקב, כמו:
מציינים את הספרייה שבה יישמר קובץ המעקב.
משנים את שם הקובץ שנוצר אוטומטית לקובץ המעקב.
צפייה בתוצאות
כשפותחים קובץ מעקב שמכיל נתוני פרופיל של מסגרות, AGI מציג את הנתונים בממשק המשתמש של Frame Profiler לצורך ניתוח.
Frame Profiler הוא רכיב AGI שמנהל את ממשק המשתמש ואת כלי המדידה ליצירת פרופיל של פריים ספציפי. הנתונים ב-Frame Profiler מוצגים ברכיבי ממשק המשתמש הבאים:
חלונית הפקודות: קריאות ל-Vulkan API.
חלונית Framebuffer: תוכן ה-Framebuffer.
חלונית Geometry: עיבוד של קריאות לציור רשת.
חלונית Memory: ערכי RAM וזיכרון GPU לפקודות.
חלונית הביצועים: נתוני ביצועים של GPU לאירועי עיבוד.
החלוניתPipeline: תוכן צינור עיבוד הנתונים.
החלונית Shader: תוכן Shader.
חלונית State: מצב העיבוד של הפקודות שנשלחו.
החלונית Textures: רשימה של משאבי טקסטורה שמשויכים לפקודה.
חלונית Texture: התוכן של משאב טקסטורה שנבחר.
ניתוח התוצאות
בנושאים האלה מוסבר איך לנתח נתוני פרופיל של פריימים באמצעות AGI: