TIL
기초부터 탄탄하게! - 오브젝트 풀링편
주전자123
2025. 4. 3. 20:16
320x100
반응형
SMALL
오늘의 기초부터 탄탄하게는 오브젝트 풀링에 대해서 작성해보겠다.
우선 오브젝트 풀링이 무엇이냐??
오브젝트를 미리 일정 개수를 만들어두고 필요할 때 꺼내 쓰고, 다시 비활성화해서 재사용하는 방식이 오브젝트 풀링이다.
그래서 이걸 쓰면 뭐가 좋은데??
1. 성능 최적화 → Instantiate()와 Destroy()는 비용이 크므로 줄이는 게 유리하다.
2. GC(Garbage Collection) 부담 감소 → 오브젝트를 삭제하지 않으므로 메모리 낭비를 감소시킨다.
3. 부드러운 게임 플레이 → FPS 저하 방지에 도움을 준다.
그럼 이걸 어떻게 쓰는데??
먼저 풀을 저장할 리스트를 생성해준다.
그 다음 풀에서 오브젝트를 꺼내준다.
사용이 끝나면 다시 풀에 반환하여 꺼준다.
이것들을 그럼 어디에 쓰면 좋은데??
- 총알 시스템 (빠른 발사체 생성/삭제)
- 적 스폰 시스템 (적이 죽었다가 다시 등장)
- 파티클 이펙트 (폭발, 피격 효과)
- UI 요소 (데미지 숫자 표시 등)
이렇게 오브젝트 풀을 잘 활용해야 메모리를 아껴 최적화된 게임을 만들 수 있다.
그리고 오늘은 팀 프로젝트가 끝난 날이다. 그래서 최종 프로젝트를 내일부터 시작해야 하는데
나는 좀비 FPS게임 개발팀에 참여하였다. 스케일이 큰 멀티게임이라 약 두달동안 주말에 시간나면 구현하고
컴퓨터 앞에 살아야 할 것 같다.
많이 힘들겠지만 마지막 프로젝트이니만큼 열심히 내 몸을 갈아 넣어서 좋은 결과를 내보자!
728x90
반응형
LIST