Develog
로그인

[Unity] 안드로이드 빌드 프레임 측정하기

muchan
muchan
∙2026년 9월 4일∙조회 12
Unity
[Unity] 안드로이드 빌드 프레임 측정하기
유니티 공부 기록
본문 로딩 중...
이전 글[Unity] Unity 빌드에서 Debug 로그 끄기
다음 글[Unity] 의존성 주입
1
muchan

게임 버그도 콘텐츠입니다.

댓글 0

개요

이전에 진행했던 프로젝트에서 300x300 타일에 자원, 동물까지 다 생성하니 프레임 드랍이 발생했었습니다. 에디터에선 괜찮았지만 모바일에서는 렉이 심하게 걸렸습니다. 이걸 해결하기 위해 청크 단위로 주변 오브젝트 활성화하도록 바꾸니 프레임 드랍이 해결됐습니다. 이걸 실제 수치로 확인하고 싶어 Profiler로 측정해봤습니다. 핸드폰은 갤럭시 A23을 사용했습니다.

핸드폰 USB 디버깅 켜기

휴대폰 설정 - 폰 정보 - 소프트웨어 정보 - 빌드 번호가 있을텐데 빌드 번호를 7번 정도 연타하여 개발자 모드를 켜고 USB 디버깅 모드를 켜줍니다.

그리고 USB선으로 컴퓨터랑 핸드폰을 연결 시켜줍니다.

유니티 빌드

File - Build Profiles를 열어줍니다.

저는 기존 Andriod 플랫폼을 사용해서 이미 활성화 되어있었지만 Android 플랫폼으로 Switch 해줍니다

보면 Run Device가 있는데 Refresh를 누르고 핸드폰 기종을 선택해줍니다.

Development Build와 Autoconnect Profiler를 켜줍니다

이후 핸드폰을 켜둔 상태로 Build And Run을 누릅니다.

프레임 측정하기

일단 현재 최적화 했을때부터 살펴보겠습니다.

그러면 이렇게 프로파일러가 나옵니다

빨간 녹화 버튼 옆에 Play Mode를 핸드폰 기종으로 바꿔줍니다

Timeline을 Hierarchy로 바꿔줍니다

CPU Usage에서 봉우리처럼 확 튀는 부분을 클릭해봅니다.

일단 맵생성에 대한 프레임을 측정해보고 싶었기 때문에 TileMapGenerator 부분을 봅니다.

다시 Timeline을 열어줍니다

화살표를 눌러서 프레임이 확 튀는 구간을 찾아줍니다

청크 단위 맵 생성할때 80ms 까지 올라가네요.

이동할때

맵 삭제하고 다시 생성할때

오브젝트 삭제

청크 단위 주변 오브젝트 활성화 안할 시

중간부터 프레임이 확 크게 뛰는 것을 볼 수 있습니다.

프레임이 확 올라갑니다

비교하기

실제 PlayerLoop 프레임 시간을 비교해보니 청크로 분할 안할 시 평균 60ms가 나오고 청크로 분할 했을 때 평균 16ms가 나옵니다. 플레이 해봤을 때도 확실히 렉 걸리는게 눈이 보일 정도로 차이가 큰 편입니다.

마무리

이번에 포트폴리오 작업하면서 최적화 한 내용을 증명할 방법이 없었는데 Profiler를 통해 최적화를 수치로 증명할 수 있을 것 같습니다. Profiler를 처음 사용해봤는데 생각보다 성능 비교하는것도 은근 재밌는 것 같습니다. 그리고 이번에 Development Build라는 것을 처음 알았는데 이걸로 나중에 안드로이드도 디버그 패널 같은거 만들어서 테스트 할 수 있을 것 같습니다. 나중에 사용하게 되면 블로그 글로 써보겠습니다.

 

새 글이 올라오면 Develog 알림으로 알려드려요

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.

관련 글

[Unity] 제네릭의 컴파일

[Unity] 제네릭의 컴파일

ㅇㅇ

10월 7일42
[Unity] 제네릭과 가변성(variance)

[Unity] 제네릭과 가변성(variance)

제네릭과 가변성

10월 6일821
[Unity] IEnumerator 개요

[Unity] IEnumerator 개요

코루틴에이저포에버

10월 6일4
[Unity] 제네릭의 컴파일
Unity

NEW[Unity] 제네릭의 컴파일

ㅇㅇ

KYO
KYO
420
KYO
KYO
∙10월 7일
420
[Unity] 제네릭과 가변성(variance)
Unity

[Unity] 제네릭과 가변성(variance)

제네릭과 가변성

KYO
KYO
821
KYO
KYO
∙10월 6일
821
[Unity] IEnumerator 개요
Unity

[Unity] IEnumerator 개요

코루틴에이저포에버

KYO
KYO
400
KYO
KYO
∙10월 6일
400