시스템 프로필 보기

Android GPU 검사기 (AGI)에서 시스템 프로파일러 UI를 통해 a 시스템 프로필을 보고 분석할 수 있습니다. 시스템을 프로파일링하고 AGI에서 추적 파일을 열면 시스템 프로파일러가 추가 세부정보를 표시하는 펼칠 수 있는 항목이 있는 타임라인에 프로파일링 데이터를 표시합니다.

시스템 프로파일러 UI의 기본 요소는 다음과 같습니다.

프로파일링 데이터

추적 파일에서 프로파일링 데이터는 트레이스 이벤트라는 타임스탬프가 지정된 이벤트에 저장됩니다. 트레이스 이벤트는 다양한 유형의 슬라이스와 카운터로 구성됩니다. 예를 들어 CPU 트레이스 이벤트에는 예약 슬라이스가 포함되고 GPU 트레이스 이벤트에는 GPU 성능 카운터와 스레드 슬라이스가 포함됩니다.

시스템 프로파일러 UI에서 트랙 창에는 타임라인을 기반으로 하는 트랙이라는 행에 표시되는 트레이스 이벤트가 포함됩니다. 동일한 유형의 트랙은 트랙 그룹에 표시됩니다.

GPU 트랙

GPU 트랙은 GPU 프로파일링 정보를 표시합니다. 주요 GPU 트랙 유형은 다음과 같습니다.

  1. GPU 대기열 트랙: 애플리케이션의 GPU 활동입니다.

  2. GPU 카운터 트랙: 주기적으로 샘플링된 GPU의 하드웨어 카운터입니다.

  3. Vulkan 이벤트 트랙: Vulkan API 관련 이벤트입니다.

  4. SurfaceFlinger 트랙: 그래픽 버퍼가 시스템을 통해 이동하는 방식을 나타내는 SurfaceFlinger 이벤트입니다.

GPU 대기열 트랙

GPU는 트레이스 중에 실행된 하드웨어 대기열의 수에 따라 하나 이상의 GPU 대기열 트랙을 가질 수 있습니다. GPU 대기열 트랙에는 앱에서 사용한 GPU 작업의 기간과 유형을 나타내는 활동 슬라이스가 포함됩니다.

활동 슬라이스에는 작업을 시작한 Vulkan 명령 버퍼, 렌더링 패스, 프레임 버퍼와 같이 볼 수 있는 메타데이터가 포함됩니다. 이러한 객체의 Vulkan 핸들은 세부정보 창에 다음과 같이 표시됩니다.

  • VkCommandBuffer
  • VkRenderPass
  • VkFrameBuffer

이러한 객체에 사용자 친화적인 이름을 지정할 수 있으므로 트레이스에서 핸들과 함께 쉽게 식별할 수 있습니다. vkSetDebugUtilsObjectNameEXT 확장 프로그램의 함수 또는 vkDebugMarkerSetObjectNameEXT 확장 프로그램의 함수를 사용하여 식별할 수 있습니다.VK_EXT_debug_utilsVK_EXT_debug_marker 두 확장 프로그램은 모두 AGI에서 구현되며 트레이스 중에 애플리케이션에서 사용할 수 있습니다.

GPU 카운터 트랙

GPU 카운터 트랙은 주기적으로 샘플링된 GPU 성능 카운터의 값을 그래프로 표시합니다. 그래프는 샘플 간에 GPU의 기본 하드웨어 구성요소의 성능 변화를 표시합니다. 이 정보를 사용하여 GPU 사용량의 병목 현상을 식별할 수 있습니다.

사용 가능한 카운터는 하드웨어별로 다릅니다. 트랙 이름 위로 마우스를 가져가면 각 카운터에 관한 간단한 설명을 볼 수 있습니다. 자세한 내용은 GPU 성능 카운터를 참고하세요.

Vulkan 이벤트 트랙

Vulkan 이벤트 트랙은 트레이스 중에 기록된 Vulkan API 이벤트를 표시합니다. 트랙 이벤트 유형은 주로 대기열 제출 이벤트 (vkQueueSubmit 호출)입니다. 대기열 제출 이벤트를 클릭하면 AGI가 호출과 연결된 GPU 활동 슬라이스를 강조표시합니다. 이 데이터를 사용하여 Vulkan API 호출로 대기열에 추가된 비동기 작업과 CPU와 GPU 간의 지연 시간을 검사할 수 있습니다.

SurfaceFlinger 트랙

SurfaceFlinger 트랙은 그래픽 버퍼 (앱의 스왑체인 렌더링 타겟)가 표시될 때까지 시스템을 통해 진행되는 수명 주기를 표시합니다. 이벤트는 버퍼별로 집계되므로 버퍼를 가져오고 게시하는 데 필요한 오버헤드와 지연 시간을 더 쉽게 추적할 수 있습니다.

프로파일링 데이터와 상호작용

이 섹션에서는 프로파일링 데이터와 시스템 프로파일러 UI에서 상호작용하는 방법을 설명합니다.

고정

고정 버튼을 사용하여 트랙과 트랙 그룹을 고정할 수 있습니다.

접기 및 펼치기

일부 트랙과 모든 트랙 그룹은 접을 수 있습니다. 일부 트랙 그룹은 접을 때 요약을 표시합니다. 예를 들어 접으면 CPU 트랙 그룹은 그래프에 전반적인 CPU 사용량을 표시합니다.

확대/축소

AGI는 확대/축소 수준에 따라 프로파일링 데이터를 집계합니다. 추적 파일을 처음 열면 시스템 프로파일러 UI가 최대 축소 수준에서 전체 프로필을 표시합니다. 관심 있는 영역을 찾은 다음 세부정보를 확인하여 프로필을 검사할 수 있습니다.

다양한 트랙 유형을 확대/축소하면 다양한 유형의 프로파일링 데이터가 표시됩니다. 예를 들어 CPU 트랙은 처음에는 각 스레드의 타임 슬라이스를 표시한 다음 확대할 때 CPU 코어 사용률 데이터를 표시하도록 전환합니다.

세부정보 보기

트랙 창에서 항목을 선택하여 세부정보 창에 자세한 메타데이터를 표시할 수 있습니다. 항목을 선택할 수 있는 경우 항목 위로 마우스를 가져가면 커서가 포인터로 변경되고 항목을 선택할 수 있습니다.

기간 선택하기

기간을 선택하여 여러 트랙의 트레이스 이벤트를 비교할 수 있습니다. 이렇게 하려면 타이밍 모드를 사용 설정한 다음 드래그하여 범위를 선택합니다. 범위 밖에 있는 모든 항목이 흐리게 표시되고 범위의 기간이 표시됩니다.

M을 눌러 선택한 슬라이스의 기간을 선택할 수도 있습니다. 그런 다음 추가 트랙을 스크롤하여 동일한 기간의 이벤트를 식별할 수 있습니다.

WASD 키를 사용하거나 스크롤 및 패닝을 통해 트랙 창에서 항목을 탐색할 수 있습니다. 시스템 프로파일러는 Systrace와 동일한 키보드 및 마우스 단축키를 사용합니다. 사용 가능한 단축키는 다음과 같습니다.

  • WS 또는 Ctrl++Ctrl+-을 사용하여 확대/축소합니다.
  • AD 또는 leftright 화살표는 뷰를 왼쪽과 오른쪽으로 이동합니다.
  • QE, 또는 updown 화살표는 트랙을 스크롤합니다.
  • shift를 누르면 탐색 이동 속도가 빨라집니다.
  • Ctrl+스크롤은 선택한 항목을 확대합니다.
  • F는 선택한 항목을 확대합니다.
  • Z+0은 재설정하고 완전히 축소합니다.
  • V는 트레이스에서 사용할 수 있는 경우 VSync 강조표시를 전환합니다.
  • M은 기간을 선택하여 현재 선택 항목을 표시합니다.
  • H 또는 ?는 키보드 및 마우스 단축키 치트 시트를 표시합니다.

툴바에는 탐색 모드 간에 전환하는 버튼이 포함되어 있으며, 이 버튼은 트랙 창에서 항목을 드래그할 때 실행되는 작업을 선택합니다. 1, 2, 3, 4 키를 눌러 다음 탐색 모드를 선택할 수도 있습니다.

  1. 선택: 드래그하여 항목을 상자로 선택합니다.
  2. 이동: 드래그하여 트랙을 이동하고 스크롤합니다. 이는 기본 모드입니다.
  3. 확대/축소: 세로로 드래그하여 항목을 확대합니다.
  4. 타이밍: 드래그하여 기간을 선택합니다.

다음과 같은 수정자 키와 함께 탐색 모드를 사용할 수도 있습니다.

  • Shift+드래그하여 항목을 상자로 선택합니다.
  • Space+드래그하여 이동하고 스크롤합니다.
  • Ctrl+스크롤하여 확대/축소합니다.
  • Ctrl+드래그하여 기간을 선택합니다.