공부/Unreal Engine 4

게임에서의 청킹 최적화(Optimizing game for chunked downloading)

Lero God 2020. 6. 25. 17:58

중규모 이상의 게임을 패키징할 땐 게임 컨텐츠를 여러 개의 청크로 나눠 초반 다운로드 사이즈를 줄이고 패치 속도를 더 올리고 로딩 시간을 줄인다. PC랑 콘솔에선 큰 크기의 청크를 소수 만드는게 좋고 모바일 환경에선 작은 크기의 청크를 여러 개 만드는 게 좋다. 언리얼 엔진 4에선 청킹을 하고 분석과 최적화를 위한 툴들을 제공한다. 

 

 

청킹 셋업

 

청크란 독립적으로 배포가 가능하고 다운로드를 할 수 있는 에셋 묶음이다. 프로젝트는 기본적으로 모든 게임의 컨텐츠를 포함하고 있는 Chunk0 이라고 부르는 한 개의 청크를 갖고 있다. 에셋들을 여러 개의 청크로 분리한 후엔 엔진은 각 청크마다 독립적으로 .pak파일을 생성해준다. 청크를 만들 땐 AssetManager을 쓰는 방법이 가장 대표적인 방식이다. 

에셋을 어떤 청크로 분류할지는 직접 AssetManager의 함수를 수정하거나 만들어서 정해줘야한다. 이렇게 할당된 정보를 csv파일에 저장하고 로딩해서 후에 값이 변경되지 못 하게 만들 수 있다. (하긴 에셋의 청크 번호가 바뀌면 패치할 때 문제 생길 듯 ㅇㅇ) 이미 한번 청크에서 로딩 된 에셋을 중복으로 로딩하지 못 하게끔 청크를 다른 청크의 자식 관계로 설정하는 방법도 있다.

'공부 > Unreal Engine 4' 카테고리의 다른 글

가비지 컬렉션 / shared_ptr, weak_ptr  (0) 2020.08.02
UE4 UBT(Unreal Build Tool)  (0) 2020.07.28
UE4 Patch System  (1) 2020.07.26
UE4 Mounting Pak File  (0) 2020.07.22
UE4 4.24에서 4.25로 버전 업 이슈  (0) 2020.06.26