오브젝트 풀링
- 반복적으로 생성하고 삭제해야 하는 객체(예: 적, 총알, 파티클 등)를 미리 일정량 생성해두고 재사용(Recycling)하는 방식입니다.
- 객체를 동적으로 생성하거나 삭제하는 작업은 **성능 비용(메모리 할당 및 가비지 수집)**이 크기 때문에, 이를 줄이고 성능을 향상시키기 위해 사용됩니다.
오브젝트 풀링의 주요 원리
- 초기화 단계:
- 게임 시작 시 일정 수의 객체를 미리 생성하여 풀에 저장합니다.
- 사용 단계:
- 필요할 때 풀에서 사용하지 않는 객체를 꺼내와 활성화하여 사용합니다.
- 반환 단계:
- 사용이 끝난 객체는 삭제하지 않고 풀로 반환하여 다시 사용할 수 있도록 비활성화 상태로 보관합니다.
오브젝트 풀링의 장점
- 성능 개선:
- 매번 객체를 생성/삭제하지 않아 메모리 할당과 해제 비용을 줄입니다.
- 가비지 컬렉션(GC) 감소:
- 불필요한 객체 생성/삭제로 인한 GC 호출을 줄여 프레임 드랍을 방지합니다.
- 재사용성:
- 이미 생성된 객체를 재활용하므로 리소스를 절약합니다.
유니티에서 오브젝트 풀링 구현
유니티에서 오브젝트 풀링은 직접 구현하거나, Unity에서 제공하는 도구들을 활용할 수 있습니다.
적용 사례
- 총알 관리: 슈팅 게임에서 플레이어가 발사하는 총알을 풀로 관리.
- 적 생성: 적이 자주 등장하고 사라지는 경우, 풀에서 적을 관리.
- 효과(파티클): 폭발, 불꽃 등 자주 사용되는 효과를 관리.
'Unity Learn > 주니어 프로그래머' 카테고리의 다른 글
6단원 - 조사 및 문제 해결 : centerOfMess (0) | 2024.11.28 |
---|---|
6단계 - 조사 및 문제 해결 : How to add force in local (0) | 2024.11.27 |
6단원 - 프로젝트 최적화 : LateUpdate() (0) | 2024.11.26 |
6단원 - 프로젝트 최적화 : FixedUpdate() (0) | 2024.11.26 |
6단원 - 프로젝트 최적화 : 접근 제한자 (0) | 2024.11.26 |