ภาพรวมการทำโปรไฟล์เฟรม
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
Android GPU Inspector (AGI) ช่วยให้คุณสร้างโปรไฟล์เฟรมที่เฉพาะเจาะจงของแอป Android
และใช้เพื่อวิเคราะห์การใช้งาน GPU ของแอปในเชิงลึกได้ ข้อมูลการจัดทำโปรไฟล์นี้ช่วยให้คุณเข้าใจการใช้งาน GPU ของแอปได้ลึกซึ้งกว่าการใช้การจัดทำโปรไฟล์ระบบเพียงอย่างเดียว
การสร้างโปรไฟล์เฟรมด้วย AGI เริ่มต้นด้วยการรวบรวมการติดตามและข้อมูลประสิทธิภาพอื่นๆ
จากนั้นจึงวัดและแสดงข้อมูลเพื่อการวิเคราะห์
ข้อมูลการทำโปรไฟล์เฟรมที่มีให้ใช้งานประกอบด้วยข้อมูลต่อไปนี้
การเรียก Vulkan API
เนื้อหา Framebuffer
คำสั่งวาดรูปตาข่ายที่แสดง
ค่าหน่วยความจำ RAM และ GPU สำหรับคำสั่ง
ข้อมูลประสิทธิภาพ GPU สำหรับเหตุการณ์การแสดงผล
ข้อมูลไปป์ไลน์
แสดงข้อมูลสถานะ
แหล่งข้อมูลพื้นผิวและ Shader
เริ่มต้นใช้งาน
คู่มือเริ่มต้นของ AGI อธิบายวิธีตั้งค่า AGI, บันทึกข้อมูลโปรไฟล์เฟรม
แล้วเปิดไฟล์การติดตามผลลัพธ์ ส่วนถัดไปจะอธิบาย
ตัวเลือกการกำหนดค่าโดยละเอียด
ตัวเลือกการทำโปรไฟล์
ส่วนนี้อธิบายตัวเลือกหลักที่ใช้ได้เมื่อคุณ
บันทึกโปรไฟล์เฟรม
ตัวเลือก Graphics API
ตัวเลือก Graphics API จะระบุ Graphics API ที่แอปใช้ ตัวเลือก
จะอยู่ในรายการประเภทของกล่องโต้ตอบบันทึกโปรไฟล์ระบบ
โดยตัวเลือกที่มีให้มีดังนี้
- Vulkan: สำหรับแอปที่ใช้ Vulkan API โดยตรง
- OpenGL บน ANGLE: สำหรับแอปที่ใช้ OpenGL ES
AGI ติดตามคำสั่ง Vulkan โดยตรง อย่างไรก็ตาม หากแอปใช้ OpenGL ES ทาง AGI จะใช้บิลด์ ANGLE ที่กำหนดเองเพื่อแปลคำสั่งเป็นคำสั่ง Vulkan ก่อนที่จะติดตามแอป
อาร์กิวเมนต์เพิ่มเติม
ช่องอาร์กิวเมนต์เพิ่มเติมใช้สำหรับส่งแฟล็กเพิ่มเติมไปยังคำสั่ง
adb am start-activity
ซึ่งจะส่งไปยังอุปกรณ์เพื่อเริ่มแอป
ในระหว่างการสร้างโปรไฟล์ ดูข้อมูลเพิ่มเติมได้ที่คำสั่ง adb
ตัวเลือกการเริ่มต้นและระยะเวลา
ในส่วนเริ่มต้นและระยะเวลา คุณสามารถระบุวิธีที่ AGI จับภาพเฟรมเพื่อสร้างโปรไฟล์ได้ โดยมีตัวเลือกให้เลือกดังต่อไปนี้
เริ่มต้น: AGI จะบันทึกคำสั่งทั้งหมดตั้งแต่เริ่มต้นแอปพลิเคชันจนถึงจุดสิ้นสุด
ของเฟรมแรกที่แสดง
ด้วยตนเอง: กดปุ่มในกล่องโต้ตอบการติดตามเพื่อบันทึกเฟรมด้วยตนเอง
เวลา: AGI จะจับภาพเฟรมโดยอัตโนมัติหลังจากผ่านไปตามจำนวนวินาทีที่กำหนด
เฟรม: AGI จะจับภาพเฟรมที่ระบุโดยอัตโนมัติ
ตัวเลือกการติดตาม
ส่วนตัวเลือกการติดตามมีการตั้งค่าที่กำหนดค่า Flag การติดตาม
การตั้งค่าที่ใช้ได้มีดังนี้
ปิดใช้การบัฟเฟอร์: ปิดใช้การบัฟเฟอร์หน่วยความจำในอุปกรณ์เมื่อบันทึกข้อมูล
ตัวเลือกนี้มีประโยชน์สำหรับการแก้ไขข้อบกพร่องของแอปที่ขัดข้อง เนื่องจากจะช่วยให้มั่นใจได้ว่าระบบจะจัดรูปแบบข้อมูลการติดตามทั้งหมดเป็นลำดับจนถึงจุดที่เกิดข้อขัดข้อง อย่างไรก็ตาม การดำเนินการนี้จะเพิ่มค่าใช้จ่ายของ AGI เล็กน้อยในระหว่างการทำโปรไฟล์
รวมส่วนขยายที่ไม่รองรับ: รวมส่วนขยายที่ AGI ไม่รองรับในอุปกรณ์
หากแอปใช้ส่วนขยายที่ AGI ไม่รองรับ คุณอาจพบลักษณะการทำงานที่ไม่พึงประสงค์ ซึ่งรวมถึงข้อผิดพลาดเล็กๆ น้อยๆ หรือข้อขัดข้องเมื่อเล่นการติดตามซ้ำ เรียกดูรายการส่วนขยายที่รองรับ
ล้างข้อมูลแพ็กเกจ: ใช้pm clear
คำสั่ง adb เพื่อขอให้อุปกรณ์ล้างข้อมูลผู้ใช้ของแอปก่อนเปิดใช้
การตั้งค่าเอาต์พุต
ส่วนเอาต์พุตมีการตั้งค่าสำหรับการจัดเก็บไฟล์การติดตาม เช่น
ดูผลลัพธ์
เมื่อเปิดไฟล์การติดตามที่มีข้อมูลการจัดทำโปรไฟล์เฟรม AGI จะแสดงข้อมูลใน UI ของ Frame Profiler เพื่อการวิเคราะห์
Frame Profiler เป็นคอมโพเนนต์ AGI ที่จัดการ UI และ
การวัดประสิทธิภาพสำหรับการสร้างโปรไฟล์เฟรมแต่ละเฟรม
เครื่องมือสร้างโปรไฟล์เฟรมจะแสดงข้อมูลในองค์ประกอบ UI ต่อไปนี้
วิเคราะห์ผลลัพธ์
หัวข้อต่อไปนี้อธิบายวิธีวิเคราะห์ข้อมูลการทำโปรไฟล์เฟรมด้วย AGI
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-27 UTC"],[],[],null,["# Frame profiling overview\n\nWith Android GPU Inspector (AGI), you can profile a specific frame of your Android app\nand use it to perform an in-depth analysis of the app's GPU usage. This\nprofiling data can give you a deeper understand of your app's GPU usage than\nwith [system profiling](/agi/sys-trace/system-profiler) alone.\n\nFrame profiling with AGI starts by collecting traces and other performance data\nand then measuring and displaying it for analysis.\n\nThe available frame profiling data includes the following:\n\n- Vulkan API calls\n\n- Framebuffer content\n\n- Rendered mesh draw calls\n\n- RAM and GPU memory values for commands\n\n- GPU performance data for rendering events\n\n- Pipeline data\n\n- Render state data\n\n- Texture and shader resources\n\nGet started\n-----------\n\nThe AGI [quickstart](/agi/start) describes how to set up AGI, capture frame\nprofile data, and then open the resulting trace file. The next section describes\nthe configuration options in more detail.\n\nProfiling options\n-----------------\n\nThis sections describes the main options that are available when you\ncapture a frame profile.\n\n### Graphics API options\n\nThe Graphics API options indicate the graphics API used by your app. The options\nare available in the **Type** list of the **Capture System Profile** dialog.\nThese are the available options:\n\n- **Vulkan**: for apps that use the Vulkan API directly.\n- **OpenGL on ANGLE**: for apps that use OpenGL ES.\n\nAGI traces Vulkan commands directly. However, if your app uses OpenGL ES, AGI\nuses a custom [ANGLE](https://github.com/google/angle) build to\ntranslate the commands into Vulkan commands before tracing the app.\n\n### Additional arguments\n\nThe **Additional Arguments** field is for passing additional flags to the\nadb `am start-activity` command, which is sent to your device to start your app\nduring profiling. For more information, see\n[adb commands](/studio/command-line/adb).\n\n### Start and duration options\n\nIn the **Start and Duration** section, you can specify how AGI captures the\nframe to profile. The following options are available:\n\n- **Beginning**: AGI captures all commands from application startup to the end\n of the first rendered frame.\n\n- **Manual**: Press a button in the tracing dialog to manually capture the\n frame.\n\n- **Time**: AGI automatically captures a frame after the given number of seconds\n elapse.\n\n- **Frame**: AGI automatically captures the specified frame.\n\n### Trace options\n\nThe **Trace Options** section contains settings that configure tracing flags.\nThese are the available settings:\n\n- **Disable Buffering**: Disable memory buffering on the device when capturing\n data. This option is useful for debugging an app crash because it ensures\n that all tracing data is serialized up to the crash. However, it slightly\n increases the overhead of AGI during profiling.\n\n- **Include Unsupported Extensions** : Include extensions that are not supported\n by AGI on the device. If your app uses an extension that isn't supported by\n AGI, you might encounter undesirable behavior, including subtle errors or\n crashes, when replaying the trace. Browse\n [a list of supported extensions](/agi/vulkan-extensions).\n\n- **Clear Package Data** : Use the `pm clear`\n [adb command](/studio/command-line/adb) to request that the device clear your\n app's user data before launching.\n\n### Output settings\n\nThe **Output** section contains settings for trace file storage, such as:\n\n- Specify the directory to store the trace file.\n\n- Modify the automatically generated file name for the trace file.\n\nView the results\n----------------\n\nWhen you open a trace file that contains frame profiling data, AGI displays the\ndata in the Frame Profiler UI for analysis.\n\nFrame Profiler is the AGI component that manages the UI and\ninstrumentation for profiling an individual frame.\nFrame Profiler displays data in the following UI\nelements:\n\n- [**Commands** pane](/agi/frame-trace-gui/commands-pane):\n Vulkan API calls.\n\n- [**Framebuffer** pane](/agi/frame-trace-gui/framebuffer-pane):\n Framebuffer content.\n\n- [**Geometry** pane](/agi/frame-trace-gui/geometry-pane):\n Rendering of mesh draw calls.\n\n- [**Memory** pane](/agi/frame-trace-gui/memory-pane):\n RAM and GPU memory values for commands.\n\n- [**Performance** pane](/agi/frame-trace-gui/perftab-pane):\n GPU performance data for rendering events.\n\n- [**Pipeline** pane](/agi/frame-trace-gui/pipeline-pane):\n Pipeline content.\n\n- [**Shader** pane](/agi/frame-trace-gui/shader-pane):\n Shader content.\n\n- [**State** pane](/agi/frame-trace-gui/state-pane):\n The render state for submitted commands.\n\n- [**Textures** pane](/agi/frame-trace-gui/textures-pane):\n A list of texture resources that are associated with a command.\n\n- [**Texture** pane](/agi/frame-trace-gui/texture-pane):\n The content of a selected texture resource.\n\n- [**Report** pane](/agi/frame-trace-gui/report-pane):\n A list of profiling errors.\n\nAnalyze the results\n-------------------\n\nThese topics describe how to analyze frame profiling data with AGI:\n\n- [Analyze render passes](/agi/frame-trace/renderpasses)\n- [Analyze shader performance](/agi/frame-trace/shader-performance)\n- [Analyze vertex formats](/agi/frame-trace/vertex-formats)"]]