Unity 빌드를 최적화할 때 고려해야 할 한 가지 중요한 측면은 게임 데이터 패키징에 사용되는 압축 알고리즘입니다.
Unity는 Default, LZ4 및 LZ4HC의 세 가지 압축 설정을 제공합니다.
- 기본 압축: Unity의 기본 압축 설정은 알고리즘 조합을 사용하여 게임 데이터를 압축합니다. Huffman 코딩 및 델타 압축과 같은 추가 기술과 함께 변형된 LZ4 압축을 사용합니다. 이 접근 방식의 목표는 압축 효율성과 로딩 속도 사이의 균형을 맞추는 것입니다.
기본 압축은 가장 다양한 설정이며 대부분의 프로젝트에서 잘 작동합니다. 파일 크기를 줄이는 것과 로딩 시간을 최소화하는 것 사이에 적절한 균형을 제공합니다. Unity는 일련의 내부 알고리즘을 적용하여 데이터를 분석하고 각 에셋에 가장 적합한 압축 방법을 결정하므로 다양한 파일 유형에 걸쳐 효율적인 압축이 이루어집니다.
- LZ4 압축: LZ4는 뛰어난 압축 해제 속도로 알려진 빠른 압축 알고리즘입니다. Unity에서 LZ4 압축 설정은 이 알고리즘을 독점적으로 사용하여 게임 데이터를 압축합니다. 높은 압축 및 압축 해제 속도를 달성하므로 파일 크기보다 로드 성능을 우선시하는 프로젝트에 이상적입니다.
LZ4 압축은 빠른 압축 해제에 중점을 두어 로딩 시간을 줄이는 데 탁월합니다. 그러나 LZ4HC와 같은 다른 알고리즘과 동일한 압축 비율을 달성하지 못할 수 있습니다. 따라서 저장 공간이 제한된 모바일 게임이나 대기 시간을 최소화해야 하는 실시간 애플리케이션과 같이 파일 크기가 중요하지 않지만 빠른 로딩이 필수적인 프로젝트에 가장 적합합니다.
- LZ4HC 압축: LZ4HC(LZ4 High Compression)는 압축 해제 속도가 약간 느린 대신 더 높은 압축률을 제공하도록 설계된 LZ4 알고리즘의 확장입니다. Unity의 LZ4HC 압축 설정은 LZ4HC를 독점적으로 사용하여 게임 데이터를 압축합니다.
LZ4HC는 기본 및 LZ4 압축보다 더 나은 압축률을 달성하므로 파일 크기를 줄이는 것이 우선인 프로젝트에 적합합니다. 압축 해제 속도는 LZ4에 비해 약간 느리지만 대부분의 시나리오에서 충분히 효율적입니다.
각 설정을 선택해야 하는 경우:
- 기본 압축: 이 설정은 파일 크기와 로딩 성능 간의 적절한 균형을 제공하므로 대부분의 프로젝트에 이상적입니다. 어떤 압축 설정을 선택해야 할지 잘 모르겠다면 기본값이 안전하고 신뢰할 수 있는 옵션입니다.
- LZ4 압축: 로딩 성능이 중요하고 파일 크기가 덜 중요할 때 이 설정을 사용합니다. 빠른 로딩이 필수적인 모바일 또는 실시간 애플리케이션에 특히 유용합니다.
- LZ4HC 압축: 파일 크기를 줄이는 것이 우선이라면 LZ4HC 압축이 최선의 선택입니다. 이 설정은 압축 해제 속도가 약간 느려지더라도 파일 크기 최적화가 중요한 경우에 적합합니다.
결론: Unity 빌드에서 Default, LZ4 및 LZ4HC 압축 설정 간의 차이점을 이해하면 프로젝트 요구 사항에 따라 정보에 입각한 결정을 내릴 수 있습니다. 로딩 성능 또는 파일 크기 감소의 우선 순위에 관계없이 Unity는 게임 데이터 압축을 효과적으로 최적화할 수 있는 옵션을 제공합니다. 적절한 압축 설정을 선택하면 저장 리소스를 효율적으로 사용하면서 로딩 시간을 최소화하여 플레이어 경험을 향상시킬 수 있습니다.
'Unity 유니티 기초강의' 카테고리의 다른 글
Unity 인디게임 데이터 저장 방법 (0) | 2023.05.24 |
---|---|
Git Client 저장소 종류 추천 (0) | 2023.05.24 |
유니티 Newtonsoft.Json JSON.NET 추가하기 (0) | 2023.05.07 |
게임 서버의 기본지식1 (0) | 2022.06.06 |
Unity 로컬라이징 TextMeshPro TMP_Font 유니코드 범위 (1) | 2022.06.04 |
댓글