[Unity 최적화] UI SetActive 호출 타이밍
·
유니티(Unity)/최적화 기법
✍️ 개요      📌 UI SetActive 최적화 방법 /// Bad Case (총 3회의 dirty 플래그 처리)Image img = GetComponent();img.gameObject.SetActive(true); //dirty 플래그 처리img.fillAmount = 1f; //dirty 플래그 처리img.transform.position = Vector3.zero; //dirty 플래그 처리/// Good Case (총 1회의 dirty 플래그 처리)Image img = GetComponent();img.fillAmount = 1f;img.transform.position = Vector3.zero;img.gameObject.SetActive(true); //d..
[Unity 최적화] UGUI 최적화
·
유니티(Unity)/최적화 기법
✍️ 개요 이번 글에서는 Unity UGUI와 관련하여 최적화하는 방법을 소개하도록 하겠습니다. 주로 현업에서 자주 사용하는 Text 또는 Image와 같은 컴포넌트 최적화에 대해 살펴보고, 어떤 컴포넌트는 지양해야 하는 지 등 컴포넌트 관련 최적화 방법을 살펴보겠습니다.    [ UI 시스템 설계 참고 ] [Unity 최적화] UI 시스템 설계📌 개요    Unity로 게임을 개발하면 UI 시스템은 반드시 필요한 요소 중 하나입니다. 하지만 많은 개발자 분들이 UI 시스템을 최적화하지 않고 설계하는 경우가 많습니다. 오늘은 Unity UI의 기gus6615.tistory.com UI 시스템 설계의 내용을 일부 포함하고 있습니다. 이번 포스터에서는 설계보다는 콘텐츠 개발 입장에서 최적화하는 법을 살펴보..
[Unity 최적화] UI 시스템 설계
·
유니티(Unity)/최적화 기법
📌 개요    Unity로 게임을 개발하면 UI 시스템은 반드시 필요한 요소 중 하나입니다. 하지만 많은 개발자 분들이 UI 시스템을 최적화하지 않고 설계하는 경우가 많습니다. 오늘은 Unity UI의 기본 동작 원리를 이해하고, UI 설계 최적화 결과를 분석하며 살펴보도록 하겠습니다.   📌 캔버스(Canvas) 분리  캔버스는 UI 요소를 나타내는 메시를 생성하고, UI 요소가 변경되면 메시를 재생성하며, 실제로 UI가 표시되도록 GPU에 드로우 콜(Draw Call)을 발행합니다. 여기서 문제점은 하나의 UI 요소가 변경되면 캔버스에 존재하는 모든 UI 요소의 메시를 재구축한다는 점입니다. 많은 개발자가 하나의 캔버스에 수천 개의 UI 요소를 배치하는데, 이 방법은 CPU 비용을 급증시킬 수 있..