DIARY
디자인 패턴으로 자꾸 다운되는 게임을 살려 보자!
혀내
2023. 4. 30. 15:26
반응형
서론
23년 2월, GDSC Sookmyung에서 '찍어 먹는 디자인패턴'이라는 주제로 Speaker Session을 진행했습니다 :)
세션에서는 자꾸 다운되는 게임 서버를 오브젝트 풀링(또는 플라이웨이트) 디자인 패턴으로 최적화했던 경험을 발표했습니다.
오브젝트 풀링 패턴이란?
런타임 중에 동적으로 객체를 생성하기 위해서는 상당한 CPU와 메모리 비용을 필요로 합니다.
그렇기에 실시간으로 1초에 수백 또는 수천 개의 객체를 생성하는 것은 곧 CPU의 과부하를 초래합니다.
많은 유저들이 즐기는 FPS 게임에서는 어떻게 1초 동안 전장에서 수백 개의 총알이 날아다닐 수 있는 걸까요?
동적으로 생성하지 않고 정적으로 객체를 미리 생성하여 객체 생성과 삭제 비용을 절약했기 때문입니다.
오브젝트 풀링 패턴은 많은 양의 객체를 동적으로 생성하지 않고 정적으로 생성해 비용을 절약하는 패턴입니다.
정적으로 미리 생성해둔 객체를 재활용하여 많은 양의 오브젝트에 대한 생성과 삭제 과정을 최적화할 수 있습니다.
세션 영상
자세한 내용은 영상을 참고해주시면 감사하겠습니다.
아직 디자인 패턴을 공부하고 있는 학생이기에 발표 내용에 부족한 점이 많습니다 :)
디자인 패턴이 생소할 분들을 위해 오브젝트 풀링 기법보다는, 디자인 패턴을 어디서 어떻게 적용할 수 있는지를 게임을 통해 알아봤습니다.
반응형