티스토리 뷰
UI Batching
UI Batching Rule
2개이상의 비주얼컴포넌트가 있을때 UI Batch가 일어납니다.
- 같은 Canvas 일것
- 같은 Material을 사용할것
- 같은 Sprite Atlas를 사용할것
- RectTranform이 서로 동일평면에 일것. (같은 z positon)
- 같은 Mask에 clipped될것
UI Batch를 확인하려면 FrameDebugger와 Profiler의 UI항목을 이용하여 볼 수 있음.
Profiler에서는 Batch Breaking Reason도 확인 가능.
TextMesh Pro
- Text 컴포넌트는 각 글자(character)마다 mesh를 생성함. outline이나 shadow 효과를 주려면 복사된 텍스트로 제어하여 mesh가 더 많이 필요. (overdraw). TextmeshPro는 효과로 인한 추가 mesh는 필요하지 않음.
- TextMesh Pro는 텍스트를 vector형식으로 그림
- 텍스트에 효과를 자주 쓸경우에는 Textmesh pro가 성능에 도움을 줌
Rebuild Process
canvas내의 ui 요소가 변경되면 element를 dirty layout으로 세팅함.
색상이나 meterial, 이미지변경과 같은 그래픽 변경은 Element를 dirty graphic으로 세팅함.
dirty로 표시된 요소(element)가 있으면 재계산하여 ui를 rebuild하게됨.
Layout component를 쓸때 제안.
- 재구성이 필요할 때 레이아웃을 활성화하자. 필요하지 않을 때는 비활성화하고.
- 자식오브젝트수를 줄여보자; UI element를 결합해서
- 커스텀한 레이아웃 관리자 스크립트를 만들자; 레이아웃 업데이트시기를 제어하도록.
- 오브젝트 풀 스크롤 리스트를 만들기; 스크롤 할 때 element를 재사용
'Unity > 최적화' 카테고리의 다른 글
Arm & Unity Presents: 3D Art Optimization for Mobile Applications - Geometry, Texture (0) | 2021.03.17 |
---|---|
Optimizing Unity UI (Unity UI 최적화) (0) | 2021.03.16 |
[Youtube] Dev Weeks: 작업 효율을 높이기 위한 유니티 UI 제작 프로그래밍 패턴들 (0) | 2021.03.10 |
Sprite Atlas의 사용과 UI 최적화 (0) | 2021.03.05 |
[Youtube] 유나이트 서울 2020 - Unity 엔지니어를 위한 Profiler 노하우 (0) | 2021.02.26 |
- Total
- Today
- Yesterday