오브젝트 풀 패턴의 이해

게임 프로그래밍에서 오브젝트를 생성하거나 파괴하는 작업은 적잖이 비용이 무겁다.

오브젝트 풀 패턴은 클라이언트가 오브젝트를 요청하게 되면 오브젝트를 할당, 삭제하는 대신 사용할 준비가 된 초기화된 오브젝트를 활성화, 비활성화시킨다.

Unity 2021 버전부터 오브젝트 풀링이 Unity API에 통합되어 있기 때문에, 직접 구현을 할 필요가 없다.

오브젝트 풀 패턴의 장점

오브젝트를 활성화, 비활성화한다는 점에서 어떤 장점이 있을지 생각해보자.

  1. 메모리의 사용량을 예측할 수 있다.

    오브젝트 풀을 사용하여 특정한 종류의 객체를 특정한 양만큼 유지하기 때문에 예측 가능한 방식으로 메모리 일부를 할당할 수 있다.

  2. 성능이 향상된다.

    메모리에서 객체를 미리 초기화하기 때문에 새로운 객체의 초기화에 드는 로딩 비용이 필요없다.

오브젝트 풀 패턴의 단점