본문 바로가기

유니티/UI

유니티 UI(3) -POT/NPOT Texture

반응형

유니티 UI를 공부하면서 중요하다고 생각되는 내용들 적는 포스팅이다. 필기노트 같은거

POT(Power of Two) 텍스쳐 

  • 텍스쳐 가로/세로 크기가 2의 승수(1,2,4,8,16,32.....)인 텍스쳐

NPOT(Non-Power of Two) 텍스쳐

  • 텍스쳐 가로/세로 둘중 크기가 하나라도 2의 승수가 아닌 텍스쳐

이것이 왜중요한가?? 텍스쳐건 뭐건 전부다 숫자(바이너리)로 이뤄져있다. 컴퓨터는 애초에 바이너리 데이터를 다루기가 훨씬 쉽다. NPOT 텍스쳐를 사용할 때 GPU는 텍스쳐와 가장 가까운 사이즈의 2의 승수를 찾아서 해당 텍스쳐를 그대로 복사한다. 즉 메모리에 2개의 텍스쳐가 올라가게 된다. 원본텍스쳐(NPOT)와 원본을 POT화시킨 텍스쳐 이렇게 2개. 즐 효율이 좋지않다. 모바일 게임에선 치명적인다. 

 

물론 NPOT텍스쳐를 import하면 유니티 자체에서 설정된 옵션에 의해 (ToNearest, ToLarger,ToSmaller) POT로 바꿔준다. 

총 4가지 옵션, 기본으론 ToNearest가 설정되어있다

이 상태에서도 메모리엔 2개의 텍스쳐가 올라가게 된다.  또한 NPOT텍스쳐를 사용할떈 많은 제약들이 따른다.

그렇기에 가장 좋은 방안은 그냥 처음부터 POT텍스쳐만 사용하는 것이다

반응형

'유니티 > UI' 카테고리의 다른 글

유니티 UI(2)-이미지 Type  (0) 2022.10.18
유니티 UI(1)-Vertex와 Canvas  (0) 2022.10.17