Unity/최적화
[Unity] GC 최적화
EveryDay.DevUp
2020. 5. 1. 19:37
Unity에서 가이드하는 GC 최적화
1. GC 호출 시기를 짧은 주기로 반복적으로 실행
▶ GC가 필요 이상 호출되지만, 짧은 주기로 실행되기 때문에 그 사이에 쌓인 메모리가 적어 빠르게 GC가 수행됨
2. 초기 큰 힙 메모리를 설정
▶ Mono는 런타임에 힙을 확장하는 것을 최대한 회피하려고 하기 때문에, 수동으로 큰 배열을 만들어 강제로 힙 메모리를 키움
▶ 초기 메모리가 크게 할당 되기 때문에 메모리 부족으로 인한 GC 호출을 최소화 할 수 있음
3. 재사용 가능한 오브젝트 풀 생성
▶ 반복적으로 생성/삭제 되는 게임 오브젝트를 Pool로 관리함으로써 최소한의 오브젝트 생성으로 메모리를 관리
4. 점진적 가비지 콜렉션 사용
▶ Unity에서 현재 프리뷰로 제공하는 기능으로써, GC의 수행을 분할하여 실행되도록 하는 것
▶ Player Settings에 User incremental GC 옵션을 활성화 시 사용 가능
#참고자료
- Unity : https://docs.unity3d.com/kr/current/Manual/UnderstandingAutomaticMemoryManagement.html