Android GPU 검사기 (AGI)를 사용하면 다양한 추적 옵션과 Android 앱의 GPU 성능 측정이 포함된 시스템 프로파일링을 실행할 수 있습니다. Android 스튜디오 프로파일링 도구와 비교할 때 AGI는 이러한 기능을 하나의 도구로 결합한 다음 더 심층적인 GPU 범위와 분석을 제공합니다. 사용 가능한 시스템 프로파일링 데이터에는 다음이 포함됩니다.
- ATrace 마커를 포함한 앱 추적 데이터
- CPU 및 프로세스 일정 데이터
- 카운터, 활동, 수명 주기 데이터와 같은 GPU 성능 정보
- Vulkan API 호출의 추적 데이터
- 메모리 사용량 통계
- 배터리 사용 통계
시스템 프로파일러는 여러 앱 프레임에 걸쳐 시스템 프로파일링을 위한 UI와 계측을 관리하는 AGI 구성요소입니다. Perfetto 추적 시스템을 기반으로 빌드됩니다. 개별 앱 프레임 프로파일링을 위한 AGI 구성요소에 관한 자세한 내용은 프레임 프로파일러 개요를 참고하세요.
시작하기
AGI 빠른 시작에서는 AGI를 설정하고 시스템 프로필을 캡처한 후 결과 트레이스 파일을 여는 방법을 설명합니다. 다음 섹션에서는 구성 옵션을 자세히 설명합니다.
프로파일링 옵션
이 섹션에서는 앱을 프로파일링할 때 사용할 수 있는 주요 옵션을 설명합니다.
애플리케이션 설정
애플리케이션 설정은 시스템 프로파일링 중에 실행하고 추적할 Android 앱을 식별합니다. 시스템 프로파일링 중에 추적할 Android 앱을 선택하는 것은 선택사항이지만, 선택하지 않으면 결과 추적 파일에 애플리케이션의 ATrace 마커와 GPU 활동이 포함되지 않으므로 선택하는 것이 좋습니다.
추적 옵션
추적 옵션은 수집할 프로파일링 데이터를 지정합니다. 구성 버튼을 클릭하면 사용 가능한 데이터 소스가 표시됩니다.
시스템을 프로파일링할 때 Android 기기에 미치는 성능 영향을 최소화하려면 추적 기간을 1분 이상으로 설정하는 경우 데이터 소스를 더 적게 선택하는 것이 좋습니다. 하지만 1분 미만의 트레이스의 경우 영향을 최소화하면서 모든 데이터 소스를 선택할 수 있습니다.
CPU 옵션
CPU 옵션을 사용하면 ftrace를 통해 CPU 및 프로세스 일정 데이터가 수집됩니다. 이를 통해 각 CPU 코어에서 실행되는 프로세스와 스레드를 확인할 수 있습니다. 다음 옵션을 사용 설정할 수도 있습니다.
- 빈도 및 유휴 상태: CPU 코어 빈도 및 유휴 상태 변경 이벤트를 수집하여 부하에 따라 CPU가 확장 또는 축소되는 방식을 검사할 수 있습니다.
- 일정 관리 체인 / 지연 시간: 스레드 일정 관리 지연 및 선점에 관한 추가 스레드 상태 데이터를 수집합니다.
- 스레드 슬라이스: 프로세스 뷰에서 ATrace 마커를 수집합니다.
GPU 옵션
GPU 옵션을 사용하면 GPU 빈도 및 메모리 사용량 데이터 수집과 같은 앱의 GPU 사용량을 프로파일링할 수 있습니다. 이 데이터를 수집하려면 애플리케이션 설정에서 추적할 애플리케이션을 지정해야 합니다. 옵션은 다음과 같습니다.
카운터: GPU 카운터 샘플을 수집합니다. 이 데이터는 GPU의 사용량을 확인하고 병목 현상을 파악하는 데 사용되므로 이러한 설정을 구성하는 것이 좋습니다.
카운터는 하드웨어에 따라 다릅니다. 예를 들어 샘플 수집의 최소 빈도 (폴링 속도)는 카운터 유형에 따라 다를 수 있습니다. 지원되는 카운터에 대한 자세한 내용은 GPU 성능 카운터를 참고하세요.
프레임 수명 주기: SurfaceFlinger 이벤트를 추적하여 프레임 버퍼가 애플리케이션, 컴포지터, 창 관리자를 통해 이동하는 방식을 파악합니다. 이러한 이벤트를 사용하면 누락된 앱 프레임을 찾고 렌더링 파이프라인의 지연 시간 소스를 식별할 수 있습니다.
렌더링 단계 슬라이스: 애플리케이션에서 GPU를 사용하는 방식을 파악하는 데 도움이 되는 데이터를 수집합니다.
Vulkan 옵션
Vulkan 옵션을 사용하면 Vulkan API 호출을 추적할 수 있으며, 함수 유형별로 사용 설정할 수 있습니다. 이 데이터를 사용하여 Vulkan API 호출의 CPU 오버헤드를 확인할 수 있습니다. 트레이스는 각 함수 호출의 기간을 기록하며, 이는 Vulkan 이벤트 트랙에서 데이터를 분석할 때 앱의 스레드 슬라이스 내에 표시됩니다.
기타 옵션
추가 시스템 프로파일링 옵션은 다음과 같습니다.
메모리: 전역적으로 그리고 각 프로세스에 대해 필수 메모리 사용량 통계를 수집합니다.
배터리: 배터리 통계를 수집합니다. 이를 통해 애플리케이션의 전력 사용량을 대략적으로 추정할 수 있습니다.
기기에서 파일로 강제 추적: 추적 데이터는 일반적으로 추적이 캡처되는 동안 USB를 통해 스트리밍되며, 오버헤드가 가장 적고 긴 추적이 가능합니다. 하지만 USB 지연 시간으로 인해 문제가 발생하거나 프로파일링 데이터가 삭제되는 경우 이 옵션을 선택하여 기기에 추적 파일을 저장할 수 있으며, 그러면 AGI가 트레이스가 완료된 후 이를 다운로드합니다. 이렇게 하려면 기기의 내부 저장소에 추적 파일을 저장할 공간이 충분해야 합니다.
고급 모드
고급 모드로 전환 링크를 사용하면 프로파일링 옵션을 저장하는 Perfetto 추적 구성을 수동으로 수정할 수 있는 고급 구성 모드가 실행됩니다.
결과 보기 및 분석
시스템 프로파일링 데이터가 포함된 추적 파일을 열면 AGI는 분석을 위해 시스템 프로파일러 UI에 데이터를 표시합니다. 데이터 보기에 관한 자세한 내용은 시스템 프로필 보기를 참고하세요.
다음 주제에서는 AGI로 시스템 프로파일링 데이터를 분석하는 방법을 설명합니다.