오브젝트 풀링?
오브젝트를 매번 생성하고 파괴하는 대신에, 미리 만들어둔 오브젝트를 재사용하여 성능을 최적화하는 기법이다.
오브젝트 풀링 은 주로 총알, 이펙트, 적과 같은 반복적으로 등장하고, 사라지는 오브젝트를 관리하는데 유용하다.
어떻게 사용하지?
Unity에서 제공하는 IObjectPool<T> 인터페이스를 이용해 오브젝트 풀링(Object Pooling) 기능을 다룰 수 있다.
IObjectPool<T>의 주요 메서드
Get() : 풀에서 오브젝트를 가져와서 사용
Release(T item) : 사용한 오브젝트를 다시 풀로 반환
Clear() : 풀을 초기화 ( 모든 오브젝트 제거 )
ObjectPool<T> 클래스
IObjectPool<T>의 기본 구현체가 ObjectPool<T> 클래스다.
이 클래스의 생성자는 다음과 같은 구조를 가진다.
public ObjectPool<T>(
Func<T> createFunc, // 오브젝트 생성 함수
Action<T> actionOnGet, // 풀에서 꺼낼 때 실행할 함수
Action<T> actionOnRelease, // 풀로 반환할 때 실행할 함수
Action<T> actionOnDestroy, // 풀에서 제거될 때 실행할 함수
bool collectionCheck, // 컬렉션 체크 여부 (메모리 관련 최적화)
int defaultCapacity, // 기본 저장할 개수
int maxSize // 최대 저장 개수
)
'참고할 만한 내용' 카테고리의 다른 글
{ 유니티 } 제이슨(Json) ? (0) | 2025.03.17 |
---|---|
발사체 공식 (0) | 2024.02.29 |
Sprite Settings (0) | 2024.01.25 |
Coroutine() (0) | 2024.01.11 |
모바일 게임 해상도(가로) (0) | 2024.01.11 |