본문 바로가기

카테고리 없음

오브젝트 풀 패턴(Object Pool Pattern)

 

출처: https://triple-hill.com/object-pooling-in-unity-part-1/

Object Pooling(이하 오브젝트 풀링)이란 객체(Object)를 재사용하기 위한 디자인 패턴이다.

어플리케이션에서 빈번하게 반복되는 특정한 작업이 있다고 가정해보자. 해당 작업이 일어날 때마다 관련된 객체가 생성되고 이를 위한 메모리가 할당이 될 것이다. 그런데 이 작업이 수백, 수천만번 반복된다고 하면 메모리 공간이 남아나지 않겠찌..

 

오브젝트 풀링은 이를 피하기 위해 Pool이라는 공간에 해당 객체를 설정된 개수만큼 미리 생성해 둔 다음, 작업이 일어날 때 해당 공간에서 꺼내서 사용한 후, 작업이 종료되면 다시 Pool에 객체를 반납하여 재사용한다. 따라서 일정 객체 수 이상 생성되지 않아 리소스 고갈의 리스크를 줄이면서 효율적으로 사용할 수 있다.

 

다만, 미리 객체를 생성해두기 때문에 해당 객체들이 사용되지 않아도 메모리에 할당이 되어있게 된다. 그렇게 때문에 너무 많이 생성해놓아도 쓸데없이 메모리 공간을 차지하게 되기 때문에 이를 조절하여 사용하는 것이 효율적이다.

 

 

 

 

 

 

참조 :

https://luv-n-interest.tistory.com/783

 

Object Pooling, 오브젝트 풀링, 디자인 패턴 [Game Development]

게임을 조금 더 개발자의 입장에서 용이하게 만들어주는 디자인 패턴인 오브젝트 풀링에 대해서 알아보자 **딱히 어떠한 게임엔진에 국한된 패턴은 아니다. 그냥 ~한 개념이다. 우선 오브젝트

luv-n-interest.tistory.com

https://notyu.tistory.com/64