제품 소식

Android 성능 분석기 소개 - Android 프로파일링의 차세대 진화

전문 길이: 5분
Mayank Jain
제품 관리자

Android Performance Analyzer란 무엇인가요?

Android Performance Analyzer (APA)는 Android 모바일 생태계를 위한 Android의 새로운 프로파일러 및 성능 분석 도구입니다. 

APA는 앱이나 게임을 더 빠르고 원활하게 실행해야 하는 Android 개발자를 위한 프로파일링 도구입니다. 성능을 중시하는 모든 엔지니어, 특히 게임 엔진에서 Vulkan을 사용하여 코드에서 모든 성능을 끌어내려는 엔지니어에게 유용합니다.

APA는 모든 최신 Android 기기에 맞게 앱과 게임을 최적화하고 가장 일반적인 워크플로를 간소화하는 데 도움이 되는 도구를 목표로 합니다. 팀의 누구든 빠르게 배우고 생산성을 높일 수 있는 간단한 인터페이스를 제공합니다. 

오늘 오픈 베타 로 제공되는 APA의 새로운 시스템 프로파일러를 사용하면 앱이나 게임의 CPU, GPU, 메모리, 전력 사용량을 분석하고 시스템 동작과의 상호작용 방식을 확인할 수 있습니다.

삼성 오스틴 연구 센터 (SARC) 및 LunarG와 공동으로 개발된 APA는 시스템 추적에 Perfetto 를 사용하며, 곧 출시될 프레임 프로파일링/디버깅 기능 (계속 지켜봐 주세요!)은 그래픽 캡처 및 재생을 위해 LunarG의 GFXReconstruct 기술을 기반으로 합니다.

Android 12 이상을 실행하는 기기는 시스템 전체 성능과 GPU 카운터, 렌더링 단계를 캡처하는 데 최적의 환경을 제공합니다.

또한 Google은 존경하는 업계 파트너와 함께 Android 생태계 전반에서 APA에 더 많은 프로파일링 및 최적화 관련 데이터를 제공하기 위해 노력하고 있습니다. 

01-apa-hero.png

Android Performance Analyzer를 다운로드하는 방법

APA는 두 가지 다른 형태로 제공되며, 필요에 가장 적합한 버전을 다운로드할 수 있습니다.

독립형 데스크톱 앱은 Android 스튜디오 프로젝트나 Gradle 빌드 없이 사용하도록 설계되었으며, 녹화 구성의 세부 맞춤설정, 그래픽 분석을 위한 내장 Vulkan 레이어, GPU 카운터의 심층 검사 등을 제공합니다.

APA는 크로스 플랫폼이기도 합니다. Windows, MacOS, Linux에서 기본적으로 작동합니다.

이번 출시의 기능

기본 프로파일링 기능

프로필 데이터 캡처

애플리케이션이나 게임을 실행할 때 항상 즉시 캡처하고 싶지는 않을 것입니다. APA를 사용하면 실행 시 또는 수동으로 트리거된 기기에서 트레이스를 선택하고 캡처할 수 있습니다. 사용자 인터페이스를 사용하면 트레이스에서 캡처할 GPU 카운터와 기타 데이터를 선택할 수 있으며, 더 복잡한 요구사항이 있는 경우 자체 맞춤 Perfetto 구성을 제공할 수 있습니다.

심층 시스템 분석

APA를 사용하면 한 번에 전체 시스템의 동작을 분석할 수 있습니다. 예를 들어 CPU 코어의 주파수와 코어에서 예약된 작업을 쉽게 검사하거나 프로세스와 스레드 활동을 검사할 수 있습니다.

그래픽이 많이 사용되는 앱의 경우 APA는 Qualcomm, Arm, Imagination, Samsung의 하드웨어 전반에 걸쳐 GPU 성능 카운터 데이터를 제공합니다. 배터리 및 전력 소비를 추적하여 코드가 전력 소비에 미치는 영향을 확인할 수도 있습니다.

프레임이 시간을 보내는 위치를 정확히 파악하기 위해 SurfaceFlinger 이벤트는 초기 코드 획득부터 최종 디스플레이까지 렌더링 및 디스플레이 구성 파이프라인에 대한 심층적인 가시성을 제공합니다. 새로운 스크린샷 기능을 사용하면 시각적으로 스크러빙하여 주의를 기울일 정확한 영역을 쉽게 찾을 수 있습니다.

기존 Perfetto 트레이스를 열고, 타임라인을 확대하여 정확한 세부정보를 확인하고, 눈금자를 사용하여 작업 및 이벤트의 기간을 측정할 수 있습니다. APA를 사용하면 흥미로운 발견 사항을 북마크하고 주석을 달 수 있으며, 최적화할 때 집중해야 하는 중요한 트랙을 화면 상단에 고정하여 집중력을 유지할 수 있습니다.

워크플로 기능

탭 인터페이스 및 분할 창: 여러 트레이스를 나란히 있는 탭에서 열거나 단일 트레이스를 두 개의 창으로 분할하여 동일한 트레이스의 여러 영역을 동시에 비교할 수 있습니다.

02-apa-side-by-side-tabs.png

프로젝트 기반 워크플로: APA는 프로젝트 모델을 사용하여 프로젝트 사이드바에서 여러 트레이스를 추적할 수 있습니다. 이는 A/B 테스트 및 종단 테스트 결과를 수집하고 비교 및 빠른 액세스를 위해 모든 결과를 한곳에 보관하는 데 특히 유용합니다.

03-apa-workspace-management.png

스크린샷을 사용하여 시각적으로 탐색: APA를 사용하면 트레이스 중에 스크린샷을 캡처하여 (눈에 띄는 성능 오버헤드 없이) 타임라인을 스크러빙하여 성능에 영향을 미치는 영역을 집중적으로 확인할 수 있습니다. 또는 방향을 잡기 위해서도 사용할 수 있습니다.

04-apa-netmarble-.gif

지속적인 뷰 맞춤설정: 트랙을 고정하거나 세로로 크기를 조절하면 다음에 트레이스를 열 때 이러한 맞춤설정이 유지되도록 저장됩니다.

AI 에이전트를 위한 분석 도구 및 새로운 기술

렌더링 패스의 Vulkan 디버그 추적 마커: 렌더링 패스의 Vulkan 디버그 주석이 지원됩니다. 이를 통해 코드베이스에서 설정한 렌더링 패스 이름을 APA에 표시된 트랙과 슬라이스에서 직접 볼 수 있습니다.

이를 통해 프로파일러에 표시되는 워크로드와 코드베이스의 출처를 논리적으로 연결할 수 있습니다.

05-vulkan-debug-markers.png

AI를 사용하여 맞춤 분석 작업을 위한 SQL 쿼리 빌드: APA는 SQL 쿼리를 통한 트레이스 분석을 지원하며 즐겨 사용하는 AI 에이전트와 함께 사용할 수 있는 새로운 Perfetto SQL 기능이 제공됩니다. 이렇게 하면 Perfetto SQL 스키마나 SQL 구문을 기억하지 않아도 쿼리를 더 쉽게 빌드할 수 있습니다.

06-apa-sql-queries.png

Gemini에 트레이스 분석 요청: '앱 시작이 느린 이유는 무엇인가요?'와 같은 개략적인 질문에 답변할 수 있는 또 다른 Perfetto 분석 기능이 추가되어 복잡한 트레이스를 분석할 때 시작점을 찾고, 즐겨 사용하는 AI 에이전트를 사용하여 답변을 정확히 파악할 수 있습니다.

07-apa-sql-analysis.png

FPS 및 프레임 지속 시간 : 트랙에서 FPS 및 프레임 지속 시간을 한눈에 검토하여 트레이스에서 발생하는 다른 활동과 연관시킬 수 있습니다. 

08-apa-fps-track.png

속도 및 견고성 개선

속도 및 안정성 개선: 이제 트레이스 렌더링 속도가 Android GPU 검사기보다 6~26배 빨라졌으며, 대규모 트레이스를 사용할 때 APA가 훨씬 더 안정적입니다.

우수사례

Google은 사전 체험판 파트너와 협력하여 APA를 사용하여 Vulkan 앱과 게임의 성능을 개선하는 방법을 보여주는 자세한 사례 연구를 만들었습니다.

The Forge Interactive

Forge는 Android Performance Analyzer를 사용하여 vkCmdBindDescriptorSets 호출을 일괄 처리해야 할 필요성을 파악했으며, 이를 통해 CPU 설정 비용을 약 50% 절감했습니다. 이로 인해 기기에서 열 발생이 2~3배 느려져 세션 시간이 길어졌습니다. 또한 APA를 사용하여 글꼴과 UI 렌더링 작업을 GPU로 이동하여 확장성을 개선할 기회를 파악했습니다.

여기에서 The Forge의 전체 우수사례를 읽어 보세요.

참고: 이 사례 연구에서는 프로파일러에서 맞춤 SQL 쿼리를 사용하여 총 렌더링 비용 측정항목을 생성하는 방법을 보여줍니다.

09-apa-the-forge.png

NetMarble – Seven Deadly Sins: Origin

넷마블은 Android Performance Analyzer를 사용하여 게임 일곱 개의 대죄: Origin을 미세 조정했습니다. 특히 셰이더의 정밀도를 변경하여 성능을 개선하고, 업스케일링이 렌더러의 성능에 미치는 영향을 살펴봤습니다.

이를 통해 일부 장면을 렌더링하는 GPU 비용을 최대 90%까지 절감할 수 있었습니다. 

여기에서 NetMarble 우수사례 전체를 읽어 보세요.

10-apa-netmarble.png

Google의 Filament 엔진에서 모델 복잡도 프로파일링

Google에서는 물리 기반 렌더링 엔진인 Filament glTF 뷰어를 개선해 왔습니다.

다양한 장면으로 뷰어를 자세히 살펴보고 Android Performance Analyzer를 사용하여 GPU에 너무 복잡한 장면을 식별하는 방법과 텍스처 압축을 개선하고 지오메트리를 최적화하여 목표 60FPS를 달성하도록 장면을 줄이는 방법을 보여주었습니다. 이 과정에서 메모리 사용량도 줄었습니다.

여기에서 Filament 탐색을 읽어보세요.

11-apa-filament-02.png

지금 바로 Android Performance Analyzer 베타를 사용해 보세요.

Android Performance Analyzer는 지금 바로 사용해 볼 수 있습니다.

베타 소프트웨어이므로 가끔 버그가 발생할 수 있습니다. 버그가 발견되면 신고해 주세요 (도움말 메뉴 > 버그 신고 제출).

새로운 Android 성능 분석기를 어떻게 사용하고 프로젝트의 성능과 안정성을 어떻게 개선할지 기대됩니다.

io.google에서 이번 발표와 Google I/O 2026의 모든 업데이트를 확인하세요.

계속 읽기