언로드 & SaveGame 방식
- 장점
- 메모리 사용량 절약 -> 맵을 통째로 언로드하면 메모리에서 해제
- 필요한 데이터(플레이어 위치, 열어놓은 문, 획득 아이템 등)만 직렬화해서 저장
- 단점
- 맵 전체를 다시 로드할 때 디스크 I/O, CPU로드가 크다.
- 수천~만 개에 달하는 액터 상태를 일일이 저장/복원해야 하면 Serialize오버헤드가 커짐
추천 상황
- 맵 전환이 드물고, 메모리가 극도로 부족할 때.
- 저장해야할 동적 데이터가 몇십~몇백 개 정도로 작을 때
레벨 스트리밍 방식
- 장점
- 한 번 로드된 레벨(서브 레벨)은 메모리에 유지되므로, 돌아왔을 때 상태 유지가 자동
- 디스크 I/O는 최초 로드 시 한 번 만, 이후에는 Visible/Hidden 토글만 발생
- UE5 World Parition 기능을 쓰면 지형, 오브젝트를 그리드 단위로 쪼개 자동 스트리밍
- 단점
- 큰 맵을 메모리에 모두 상주시켜야 하므로 메모리에 부담(프레임 저하 우려)
- 동시 로드된 서브레벨이 많으면 GC나 드로우 콜 드롭 등 퍼포먼스 이슈 가능
추천 상황
- 플레이어가 맵을 자주 오갈 때
- 메모리 여유가 있고, 맵을 그리드 워크플로우(World Parition)로 관리할 수 있을 때