간혹 오브젝트풀링을 써야하는지 아닌지 판단해야할 때가 있다. 단순히 플레이어가 총을 쏘는 일반적인 경우라면 다들 쓰니까 쓰겠지만, UI에 아이템 데이터를 가져오는 상황 같은 경우에는 써야할 때도 있고 굳이 쓰지 않아야 할 때도 있는 것이다.
오브젝트 풀링을 쓸 때 두가지 원칙을 기억하자
1. 오브젝트를 생성하고 소멸하는 작업이 많은 경우
=> 오브젝트의 크기가 작더라도 생성과 소멸이 많으면 메모리 단편화가 일어나 메모리를 효율적으로 사용하지 못 할 수 있어 오브젝트 풀링을 써야한다.
2. 오브젝트의 생성 시간이 긴 경우
=>엄청 반복적으로 생성 소멸이 진행되지는 않는다고 해도, 자주 이용될 때 오브젝트 생성시간이 길다면 풀링으로 그냥 캐싱해버려서 필요할 때 빠르게 꺼내쓰는 방법이 효율적일 수도 있다.
'C#_ Unity Game programming' 카테고리의 다른 글
Unity - 자주 사용되는 리소스 이용 할 때, static과 싱글톤 적용시 유의할 점 (0) | 2024.02.20 |
---|---|
Unity - Json 직렬화 안되는 경우 (0) | 2024.02.09 |
Unity - 프리팹 인스턴스화 메모리 개념 및 에셋번들, 어드레서블 에셋 (0) | 2024.01.15 |
Unity - this(컴포넌트)와 gameObject의 차이 (0) | 2024.01.15 |
Unity-Instantiate할 때 Canvas의 자식으로 넣는법 (1) | 2024.01.13 |