티스토리 뷰

프로파일러 확인

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 과도 사용 지양
최근에 올라온 글
최근에 달린 댓글
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함