[Unity] 안드로이드 빌드 프레임 측정하기
![[Unity] 안드로이드 빌드 프레임 측정하기](/_next/image?url=https%3A%2F%2Fdata.develog.develrocket.com%2Fupload%2Fdevelog%2Fuser_1777093328305%2F1788527420720-1t9z4h%2FCodex_____2026__9__4_____09_43_48.png&w=3840&q=75)
댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.
이전에 진행했던 프로젝트에서 300x300 타일에 자원, 동물까지 다 생성하니 프레임 드랍이 발생했었습니다. 에디터에선 괜찮았지만 모바일에서는 렉이 심하게 걸렸습니다. 이걸 해결하기 위해 청크 단위로 주변 오브젝트 활성화하도록 바꾸니 프레임 드랍이 해결됐습니다. 이걸 실제 수치로 확인하고 싶어 Profiler로 측정해봤습니다. 핸드폰은 갤럭시 A23을 사용했습니다.
휴대폰 설정 - 폰 정보 - 소프트웨어 정보 - 빌드 번호가 있을텐데 빌드 번호를 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라는 것을 처음 알았는데 이걸로 나중에 안드로이드도 디버그 패널 같은거 만들어서 테스트 할 수 있을 것 같습니다. 나중에 사용하게 되면 블로그 글로 써보겠습니다.
Unity 면접 대비 입력, 카메라/이동/AI, 에셋/빌드
Unity 면접 대비 렌더링/그래픽, 메모리/최적화
Unity 면접 대비 애니메이션, UI