Unity Profiling
Unity Profiler는 게임 성능을 분석하고 최적화하기 위한 도구다. 주로 CPU, GPU, 메모리, 렌더링 성능 등을 분석한다.
여기에서 플레이 모드를 활성화하면 Profiler 창에 성능 데이터가 표시된다.
주요 프로파일링 카테고리는 다음과 같이 볼 수 있다.
- CPU Usage
함수 호출 시간과 CPU 사용량을 분석.
스크립트에서 가장 많이 사용된 메서드나 코루틴을 확인 가능. - GPU Usage
GPU 렌더링 관련 데이터 분석.
렌더링 시간이 높은 쉐이더나 오브젝트를 확인. - Memory
메모리 사용량 및 할당 정보를 확인.
가비지 컬렉션(Heap Allocations) 문제 파악. - Rendering
드로우 콜, 배치 수 및 오브젝트 렌더링 최적화. - Physics
물리 시뮬레이션 시간 분석.
복잡한 충돌체나 리지드바디 문제 확인. - Audio
오디오 리소스 사용량 분석.
가령 다음과 같이 사용할 수 있다.
- 프레임 시간 분석:
- CPU와 GPU 프레임 시간을 확인하고 병목현상 식별.
- GC (Garbage Collection):
- 빈번한 가비지 컬렉션이 발생하면 코드 최적화를 통해 메모리 할당을 줄입니다.
- Batching 확인:
- 오브젝트를 동적으로 배치하여 드로우 콜을 줄임.
- Physics 최적화:
- 물리 시뮬레이션에서 과도한 충돌체 계산을 감지.
또한 여러 방법으로 이를 확장하여 추가 데이터를 추적하거나 더 깊이 분석할 수 있다.
- Profiler Modules - 추가 데이터 추적
- Unity Asset Store나 Custom Profiler Module을 사용하여 필요한 추가 데이터를 추적.
- Deep Profiling - 더 깊은 분석
- 스크립트 호출을 더 깊이 분석하려면 Deep Profile 옵션을 활성화.
Profiler Customizing
https://docs.unity3d.com/kr/2022.1/Manual/Profiler-customizing.html
Unity에서 Custom Profiler 모듈을 생성하여 특정 기능이나 시스템의 성능 데이터를 추적할 수 있다. Unity는 기본 Profiler 모듈 외에도 사용자 정의 모듈을 작성할 수 있는 Profiler API를 제공한다.
'Study > Unity Engine' 카테고리의 다른 글
[Unity] DLL과 PDB (0) | 2025.01.18 |
---|---|
[Unity] 컴파일 과정 (0) | 2025.01.18 |
[Unity] 오브젝트 검색 방법 (0) | 2025.01.18 |
[Unity] ScriptableObject (0) | 2025.01.18 |
[Unity] Layer (0) | 2025.01.18 |