오브젝트 풀링이란?


Unity에서 객체를 생성(Instantiate)하고 파괴(Destroy)하는 과정은 메모리의 할당과 해제라고 볼 수 있다.
특히 객체를 파괴하면 즉시 메모리가 해제되는 게 아니라, 모아뒀다가 Garbege Collection이 발생하면서 해제되는 것이다.
이러한 메모리의 할당과 해제가 너무 자주 발생하거나 동시에 많이 발생하는 경우, 심각한 게임 성능저하로 이어질 수 있다.

왜냐하면 게임 엔진은 객체 생성과 삭제하는 작업만 하는 것이 아니고,
게임이 동작하기 위한 로직, 게임 화면을 보여주기 위한 렌더링 등의 다양한 작업을 하면서
대략 60 FPS를 유지하는데, 중간에 수많은 객체의 생성과 삭제가 동시에 발생하면 순간적인 프레임드랍이 발생할 수 있기 때문이다.

이는 사용자 경험에 악영향을 주는 요소이고 이를 해결해야 한다.

실제 테스트


카테고리:

업데이트:

댓글남기기