본문 바로가기
Unity/수업과제

[Unity] Object Pooling 오브젝트 풀링_최적화, Garbage Collector

by 왹져박사 2023. 2. 6.
728x90

반복해서 오브젝트를 생성하고 파괴하는 방법은 많은 Garbage Collector를 발생시키며,

CPU의 순간적인 성능 소모 및 프레임 저하를 불러옴

이러한 문제를 해결하기 위하여 Object Pooling 기법을 사용!

 

Object Pooling

  • 오브젝트의 생성/파괴 대신 Pool을 만들어 오브젝트를 활성화/비활성화 하며 관리
  • 이러한 오브젝트들은 메모리 내에 계속 남아있기 때문에, CPU 성능 소모 ↓ 메모리 사용량 ↑

 

Garbage Collertor?

  • 메모리 관리 방법. 
  • Heap에서 객체의 위치를 기억하는 참조변수가 모두 사라지면 정리되지 않은 메모리 garbage 발생
  • garbage가 메모리 공간이 부족할 정도로 쌓이면 Garbage Collection( GC )기능에 의해 삭제(해제)

! 시스템에서 더 이상 사용하지 않는 동적 할당된 메모리를 다시 사용 가능한 공간으로 바꿔주는 기능(재활용) !

 

 

구현

기존의 프로젝트의 코드에서 변형해보려 노력했지만, 생각보다 많이 뜯어고쳐야했다(구조적으로). 

우선 간단한 구현부터 다시 해보자..

728x90

'Unity > 수업과제' 카테고리의 다른 글

[Unity 3D] Shop Tab  (0) 2023.02.20
[Unity] AddListener와 for문  (0) 2023.02.06
[Unity3D] Coroutine 활용 예제  (1) 2023.02.02
[Unity 2D] Mecanim (애니메이션 상태 시스템) 연습  (0) 2023.02.01