Unity iOS 성능 최적화 가이드
이 문서는 Unity에서 iOS에 최적화된 게임 또는 애플리케이션을 개발하기 위한 성능 측정과 관련된 내용을 설명합니다. 기본적으로 내장된 프로파일러를 사용하여 CPU, GPU의 성능을 분석하고 이를 통해 최적화할 수 있는 부분을 찾을 수 있습니다.
1. 빌트인 프로파일러
Unity에서는 iOS와 Android를 위한 빌트인 프로파일러를 제공합니다. 프로파일러는 앱의 성능 데이터, 즉 CPU와 GPU의 사용량 등을 실시간으로 측정하여 콘솔 메시지로 제공합니다.
1.1. 프로파일러를 활용하는 이유
- CPU 또는 GPU 바운드 여부 판단: 앱이 CPU 또는 GPU에 의해 병목 현상이 발생하는 지 파악할 수 있습니다.
- 성능 저하 원인 분석: 스크립트 코드 또는 가비지 컬렉션이 성능 저하 원인인지 확인할 수 있습니다.
2. 프로파일러 출력 예시
내장 프로파일러는 최소, 최대, 평균 프레임 시간과 같은 다양한 성능 통계를 출력합니다.
종류 | 설명 |
---|---|
frametime | 앱 프레임의 전체 시간을 나타냅니다. |
cpu-player | Unity 엔진 내에서 코드 실행에 소요된 CPU 시간을 나타냅니다. |
tris | 렌더링을 위해 전송된 총 삼각형 수입니다. |
verts | 렌더링을 위해 전송된 총 버텍스 수입니다. |
player-detail | 엔진 내부 동작에 대한 상세 내역을 제공합니다. |
3. 설정 방법
3.1. iOS에서 프로파일러 활성화
- Unity에서 Xcode 프로젝트를 엽니다.
InternalProfiler.h
파일을 선택합니다.- 아래 코드를 수정하여 프로파일러를 활성화합니다.
# define ENABLE_INTERNAL_PROFILER 0
# define ENABLE_INTERNAL_PROFILER 1
또는 Edit > Project Settings > Player Settings
에서 iOS를 선택 후, Debugging and crash reporting 섹션의 Enable Internal Profiler를 활성화할 수 있습니다.
3.2. Android에서 프로파일러 활성화
- Unity에서 Android 플레이어 설정으로 이동합니다.
- Optimization 섹션에서 Enable Internal Profiler를 활성화합니다.
4. 성능 최적화의 팁
- 프레임 시간 모니터링: 항상 프레임 시간을 모니터링하고, 일정 이상으로 늘어지지 않도록 최적화합니다.
- 드로우 콜 최소화: 오브젝트 간 재질을 공유하여 드로우 콜을 줄입니다.
- 메모리 관리: 가비지 컬렉션이 발생할 때의 메모리 할당을 지속적으로 분석합니다.
5. 결론
Unity의 빌트인 프로파일러는 iOS 및 Android 앱의 성능을 최적화하는 데 큰 도움이 됩니다. 위의 방법을 통해 성능 데이터를 분석하고, 최적화할 수 있는 좋은 기회를 얻을 수 있습니다. Unity에서 좋은 성능을 유지하는 것은 사용자의 경험을 향상시키는 데 중요한 요소입니다.