티스토리 뷰
프로파일러 확인
1. Draw Calls 확인
- Rendering > Batches 항목 확인
항목 | 설명 |
SetPass Calls | 서로 다른 머티리얼이 사용된 횟수 (높을수록 병목) |
Batches | 실제로 GPU로 보낸 드로우콜 수 (100~200 이상이면 병목 가능성 있음) |
Triangles, Vertices | 너무 많은 버텍스나 면이 합산되는지 확인 |
2. UI 관련 병목 확인
- UI가 주 원인이라면 Canvas.RenderOverlays, Canvas.SendWillRenderCanvases 등이 비정상적으로 높은 시간을 차지
- Hierarchy 탭에서 Canvas 하위 구조 복잡도 확인
3. Frame Debugger 병행 사용
- Window > Analysis > Frame Debugger
- 플레이 중에 Enable을 누르면 한 프레임 내 드로우콜 순서와 머티리얼 변경 상황을 시각적으로 확인할 수 있다.
4. 기본 체크리스트
항목 | 설명 | 체크 |
Canvas 분리 | 자주 변경되는 UI는 별도의 Canvas로 분리 (재빌드 최소화) | ☐ |
Object Pooling 적용 | UI 프리팹을 반복 생성/삭제하지 않고 재사용 | ☐ |
Sprite Atlas 사용 | 다양한 이미지 Sprite를 한 텍스처로 합쳐 드로우콜 줄이기 | ☐ |
동일 머티리얼 사용 | 버튼, 텍스트 등 가능하면 동일 머티리얼 사용 (SetPass 감소) | ☐ |
레이캐스트 차단 해제 | 불필요한 UI 요소는 Raycast Target 해제하여 처리 비용 감소 | ☐ |
Batching 활성화 | Static Batching 또는 Dynamic Batching 사용 | ☐ |
TextMeshPro로 통일 | 기본 Text보다 성능 및 품질 우수. Atlas 관리 필수 | ☐ |
캔버스 스케일 방식 설정 | CanvasScaler의 Constant Pixel Size 또는 Scale With Screen Size를 상황에 맞게 설정 | ☐ |
Shader 최적화 | UI에 복잡한 Shader 사용 지양 (투명, 블러 등 비용 큼) | ☐ |
불필요한 Layout 제거 | Vertical/Horizontal Layout Group, ContentSizeFitter 과도 사용 지양 | ☐ |
'개발 > Unity' 카테고리의 다른 글
[Unity] 🧙♂️ God Object (0) | 2025.05.21 |
---|---|
[Unity] 사용하지 않는 리소스의 메모리 관리 (0) | 2024.05.10 |
[Unity] SOLID 원칙과 게임 개발 (1) | 2024.03.31 |
[Unity] Custom Editor (0) | 2023.09.03 |
[Unity] 인스펙터 레이아웃 생성 과정 (0) | 2023.09.03 |