반복해서 오브젝트를 생성하고 파괴하는 방법은 많은 Garbage Collector를 발생시키며,
CPU의 순간적인 성능 소모 및 프레임 저하를 불러옴
이러한 문제를 해결하기 위하여 Object Pooling 기법을 사용!
Object Pooling
- 오브젝트의 생성/파괴 대신 Pool을 만들어 오브젝트를 활성화/비활성화 하며 관리
- 이러한 오브젝트들은 메모리 내에 계속 남아있기 때문에, CPU 성능 소모 ↓ 메모리 사용량 ↑
Garbage Collertor?
- 메모리 관리 방법.
- Heap에서 객체의 위치를 기억하는 참조변수가 모두 사라지면 정리되지 않은 메모리 garbage 발생
- garbage가 메모리 공간이 부족할 정도로 쌓이면 Garbage Collection( GC )기능에 의해 삭제(해제)
! 시스템에서 더 이상 사용하지 않는 동적 할당된 메모리를 다시 사용 가능한 공간으로 바꿔주는 기능(재활용) !
구현
기존의 프로젝트의 코드에서 변형해보려 노력했지만, 생각보다 많이 뜯어고쳐야했다(구조적으로).
우선 간단한 구현부터 다시 해보자..
'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 |