• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Poolable을 할 객체를 판단하는 기준을 어떻게 잡는게 좋을까요?

21.10.18 14:12 작성 조회수 140

0

프리팹 자체가 애니메이션도 붙어있고 매우 많은 컴포넌트들과 많은 상호작용을 위한 자식오브젝트들도 많은 그런객체 프리팹의 오브젝트 풀링을 하는것과

정말 단순히 한두개의 컴포넌트만 가진 예를들면 스프라이트 이미지같은것들의 프리팹과

혹은 투사체나 총알같은 이동기능을 가진 일반적인 객체들

 

이렇게 세가지 경우가 있을 때, 각각 똑같이 10개의 객체를 만든다고 하면 어떤건 풀링을 하고 어떤건 하지않는경우가 있나요?

 

두번째로 일단 풀링의 개념자체가 최소한 새로 만들어서 디스트로이하는 것 보다는 한번 만든 객체를 SetActive true false 하는거만으로도 성능향상을 조금이나마 볼 수 있다면 단 한개의 객체라도 새로만드는것보단 풀링을 하는게 도움되는건 맞나요?

 

마지막으로 이동기능을 가진 총알 객체가 한 씬에서 100번 쓰일수도 있고 10000번 쓰일수도 있을텐데 보통 풀링을 하면 좋겠다, 라는 판단이나 기준을 어떻게 세우면 좋을까요? 단순히 렉이 걸리면 풀링을 써야지 라고 하기엔 또 구동환경에 따라 다를 것 같아서요.

답변 1

답변을 작성해보세요.

0

유니티에서 프리팹을 새로 Instantiate 하는 작업은 부담이 많이 가기에
하나의 객체라도 새로 만드는거보단 풀링이 좋은건 맞지만.
사실 요즘 하드웨어가 좋아져서 엄청 큰 규모의 게임이 아니면 티도 나지 않습니다.
1인 작업이라면 풀링 없이 그냥 하시면 됩니다.
큰 규모의 게임에서 총알을 100개씩 난사하는 뭐 그런 장르라면, 
총알 정도는 풀링하면 좋긴 하겠죠.