ใน Android GPU Inspector (AGI) คุณสามารถดูและวิเคราะห์โปรไฟล์ระบบใน UI ของ System Profiler ได้ หลังจากสร้างโปรไฟล์ระบบและเปิดไฟล์การติดตามใน AGI แล้ว โปรแกรมสร้างโปรไฟล์ระบบจะแสดงข้อมูลการสร้างโปรไฟล์ในไทม์ไลน์พร้อมรายการที่ขยายได้ซึ่ง แสดงรายละเอียดเพิ่มเติม
องค์ประกอบหลักของ UI ของ System Profiler มีดังนี้
Toolbar
กล่องข้อความตัวกรองแทร็ก: กรองแทร็กที่แสดงในแผงแทร็ก
ปุ่มข้อมูล (i): แสดงข้อมูลเมตาของร่องรอยและอุปกรณ์
ปุ่มความช่วยเหลือ (?): แสดง แป้นพิมพ์ลัดและเมาส์
ไทม์ไลน์: ระบุช่วงเวลาของเหตุการณ์การติดตาม
แผงแทร็ก: แสดงข้อมูลการสร้างโปรไฟล์ที่เกี่ยวข้องกับไทม์ไลน์
แผงรายละเอียด: แผงที่ขยายได้ซึ่งแสดง รายละเอียดเกี่ยวกับรายการที่เลือก
การสร้างโปรไฟล์ข้อมูล
ในไฟล์การติดตาม ระบบจะจัดเก็บข้อมูลการสร้างโปรไฟล์ไว้ในเหตุการณ์ที่มีการประทับเวลาที่เรียกว่าเหตุการณ์การติดตาม เหตุการณ์การติดตามประกอบด้วย Slice และตัวนับประเภทต่างๆ ตัวอย่างเช่น เหตุการณ์การติดตาม CPU จะมีส่วนการจัดกำหนดการ ในขณะที่เหตุการณ์การติดตาม GPU จะมีตัวนับประสิทธิภาพ GPU และส่วนของเธรด
ใน UI ของ System Profiler แผงแทร็กจะมีเหตุการณ์การติดตาม ที่แสดงในแถวที่เรียกว่าแทร็ก ซึ่งอิงตามไทม์ไลน์ แทร็กประเภทเดียวกันจะแสดงในกลุ่มแทร็ก
แทร็ก GPU
GPU จะติดตามข้อมูลการทำโปรไฟล์ GPU ของจอแสดงผล ประเภทแทร็ก GPU หลักๆ มีดังนี้
แทร็กคิว GPU: กิจกรรม GPU ของแอปพลิเคชัน
ตัวนับ GPU ที่ติดตาม: ตัวนับฮาร์ดแวร์ของ GPU ที่สุ่มตัวอย่างในช่วงเวลาเป็นระยะ
แทร็กกิจกรรม Vulkan: กิจกรรมที่เกี่ยวข้องกับ Vulkan API
แทร็ก SurfaceFlinger: เหตุการณ์ SurfaceFlinger ซึ่งระบุวิธีที่บัฟเฟอร์กราฟิก เคลื่อนที่ผ่านระบบ
ติดตามคิว GPU
GPU อาจมีแทร็กคิว GPU อย่างน้อย 1 รายการ โดยขึ้นอยู่กับจำนวนคิวฮาร์ดแวร์ ที่ทำงานระหว่างการติดตาม แทร็กคิว GPU มีส่วนกิจกรรม ที่แสดงถึงระยะเวลาและประเภทของงาน GPU ที่แอปใช้
สไลซ์กิจกรรมมีข้อมูลเมตาที่คุณดูได้ เช่น บัฟเฟอร์คำสั่ง Vulkan การส่งผ่านการแสดงผล และบัฟเฟอร์เฟรมที่เริ่มงาน แฮนเดิล Vulkan ของออบเจ็กต์เหล่านี้จะแสดงในแผงรายละเอียด ดังนี้
VkCommandBufferVkRenderPassVkFrameBuffer
คุณตั้งชื่อที่เข้าใจง่ายให้กับออบเจ็กต์เหล่านี้ได้ เพื่อให้ระบุออบเจ็กต์ในเทรซพร้อมกับแฮนเดิลได้อย่างง่ายดายโดยใช้ฟังก์ชัน vkSetDebugUtilsObjectNameEXT
จากส่วนขยาย VK_EXT_debug_utils หรือฟังก์ชัน vkDebugMarkerSetObjectNameEXT
จากส่วนขยาย VK_EXT_debug_marker ส่วนขยายทั้ง 2 รายการ
ได้รับการติดตั้งใช้งานโดย AGI และพร้อมใช้งานกับแอปพลิเคชันของคุณขณะทำการติดตาม
แทร็กตัวนับ GPU
ตัวนับ GPU จะติดตามกราฟค่าของตัวนับประสิทธิภาพ GPU ที่สุ่มตัวอย่างในช่วงเวลาเป็นระยะๆ กราฟจะแสดงความแตกต่างของประสิทธิภาพ GPU ส่วนประกอบฮาร์ดแวร์พื้นฐานระหว่างตัวอย่าง คุณใช้ข้อมูลนี้เพื่อ ระบุคอขวดในการใช้งาน GPU ได้
เคาน์เตอร์ที่ใช้ได้จะขึ้นอยู่กับฮาร์ดแวร์ คุณดูคำอธิบายสั้นๆ ของ ตัวนับแต่ละรายการได้โดยวางเมาส์เหนือชื่อแทร็ก โปรดดูรายละเอียดที่ตัวนับประสิทธิภาพของ GPU
แทร็กเหตุการณ์ Vulkan
แทร็กเหตุการณ์ Vulkan จะแสดงเหตุการณ์ Vulkan API ที่บันทึกไว้ระหว่างการติดตาม ประเภทเหตุการณ์ที่ติดตามส่วนใหญ่คือเหตุการณ์การส่งคิว (vkQueueSubmitการเรียกใช้) หากคุณ
คลิกเหตุการณ์ส่งคิว AGI จะไฮไลต์สไลซ์กิจกรรมของ GPU ที่
เชื่อมโยงกับการเรียก คุณสามารถใช้ข้อมูลนี้เพื่อตรวจสอบงานแบบไม่พร้อมกัน
ที่เรียกใช้โดยการเรียก API ของ Vulkan และเวลาในการตอบสนองระหว่าง CPU กับ GPU
SurfaceFlinger ติดตาม
SurfaceFlinger จะติดตามการแสดง วงจรของบัฟเฟอร์กราฟิก (เป้าหมายการแสดงผลของ Swapchain ของแอป) ขณะที่บัฟเฟอร์ ผ่านระบบจนกว่าจะแสดง ระบบจะรวบรวมเหตุการณ์ตามบัฟเฟอร์เพื่อให้ติดตามค่าใช้จ่ายและความหน่วงที่จำเป็นสำหรับการรับและโพสต์บัฟเฟอร์ได้ง่ายขึ้น
โต้ตอบกับข้อมูลการจัดโปรไฟล์
ส่วนนี้จะอธิบายวิธีโต้ตอบกับข้อมูลการจัดทำโปรไฟล์ใน UI ของ System Profiler
ปักหมุด
คุณปักหมุดแทร็กและกลุ่มแทร็กได้โดยใช้ปุ่มปักหมุด
ยุบและขยาย
แทร็กบางรายการและกลุ่มแทร็กทั้งหมดสามารถยุบได้ กลุ่มแทร็กบางกลุ่มจะแสดง ข้อมูลสรุปเมื่อยุบ เช่น เมื่อยุบกลุ่มแทร็ก CPU กลุ่มนี้จะแสดงการใช้งาน CPU โดยรวมในกราฟ
ซูม
AGI จะรวบรวมข้อมูลการจัดโปรไฟล์ตามระดับการซูม เมื่อเปิดไฟล์การติดตามเป็นครั้งแรก UI ของ 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+ลากเพื่อเลือกช่วงเวลา