최적화 - Texture

2022. 8. 24. 10:36Public/Unity

대부분의 메모리는 텍스처로 이동하므로 import 설정이 중요합니다.

 

  • 최대 크기 낮추기(Lower the Max Size)
    시각적으로 허용 가능한 결과를 생성하는 최소 설정을 사용합니다. 이것은 비파괴적이며 텍스처 메모리를 빠르게 줄일 수 있습니다.

  • 2의 거듭제곱(POT) 사용(Use powers of two (POT))
    Unity에는 POT가 필요합니다.
    모바일 텍스처 압축 형식(PVRCT 또는 ETC)에 대한 텍스처 치수.

  • 텍스처 아틀라스(Atlas your textures)
    텍스처를 아틀라스로 만들 수 있습니다.
    여러 텍스처를 단일 텍스처에 배치하면 그리기 호출을 줄이고 렌더링 속도를 높일 수 있습니다. Unity SpriteAtlas 사용 하시거나 타사의 텍스처 패커를 사용하십시오.

  • 읽기/쓰기 활성화 옵션((Toggle off the Read/Write Enabled option))을 끕니다. 
    활성화되면 이 옵션은 CPU 및 GPU의 주소 지정 가능 메모리 모두에 복사본을 만들어 텍스처의 메모리 공간을 두 배로 늘립니다. 대부분의 경우 비활성화된 상태로 유지됩니다. 런타임에 텍스처를 생성하는 경우 Texture2D.Apply를 통해 이름을 적용하고 makeNoLongerReadable을 true로 설정하여 전달 합니다.

  • 불필요한 Mipmap 비활성화
    일관된 크기로 유지되는 텍스처에는 Mipmap이 필요하지 않습니다.
    2D 스프라이트 및 UI 그래픽과 같은 화면에 표시됩니다.(카메라에서 거리가 달라지는 3D 모델에 대해 Mip Maps를 활성화한 상태로 둡니다).

  • 텍스처 압축
    동일한 모델과 텍스처를 사용하는 두가지 예시를 확인하십시오. 왼쪽의 설정은 시각적 품질의 이점 없이 오른쪽의 설정보다 거의 8배의 메모리를 소모합니다.


ios 및 android 모두에 ATSC(Adaptive Scalable Texture Compression)을 사용합니다. 
개발 중인 게임의 대다수는 ATSC 압축을 지원하는 최소 사양 장치를 대상으로 합니다

유일한 예외는 다음과 같습니다.

 

  1. A7이하 기기를 대상으로 하는 ios 게임(예:iphon5,5S 등) - PVRTC 사용
  2. 2016년 이전 기기를 대상으로 하는 Android 게임 - ETC2(Ericsson 텍스처 압축)

PVRTC 및 ETC와 같은 압축 형식의 품질이 충분히 높지 않고 대상 플랫폼에서 ASTC가 완전히 지원되지 않는 경우 32비트 텍스처 대신 16비트 텍스처를 사용해 보십시오.

 

플랫폼별 권장 텍스처 압축 형식에 대한 자세한 내용입니다.

'Public > Unity' 카테고리의 다른 글

커스텀 에디터  (0) 2022.11.11
Unity 프로파일러 - 프로파일러 창을 사용하여 성능 문제 진단  (1) 2022.08.29
Unity 프로파일러 - The Profiler Window  (0) 2022.08.26
최적화 - 메쉬(Mesh)  (0) 2022.08.24
VFX  (0) 2022.07.31