목록 보기
라이브 게임 에셋 관리 개선기 - 2.메모리 사용 절감
백엔드

라이브 게임 에셋 관리 개선기 - 2.메모리 사용 절감

플라네타리움
플라네타리움
2024년 9월 30일

두줄요약

라이브 게임의 메모리 증가 원인을 프로파일링으로 분석하고, 불필요 리소스 정리와 압축 설정 통일로 사용량을 줄였습니다. 결과적으로 클라이언트 메모리는 약 30%, 앱 용량은 약 26% 감소했습니다.

문제 상황

  • 라이브 서비스 게임에서 콘텐츠와 에셋이 누적되며 메모리 사용량이 지속 증가하는 문제
  • 오브젝트 풀에 모든 오브젝트를 영구 보관하는 구조로 인해 iOS에서 종료 이슈까지 발생
  • 큰 텍스처와 오디오 클립, 비일관적인 압축 설정으로 앱 용량과 메모리 점유가 함께 커지는 상황

원인 분석

  • 단일 씬 구조와 리소스 해제 타이밍 문제로 사용하지 않는 에셋이 메모리에서 늦게 정리되는 점
  • 압축되지 않은 Texture2D와 AudioClip, 중복 포함된 아틀라스, POT가 아닌 스파인 리소스
  • 에디터 프로파일링 노이즈로 실제 모바일 메모리 문제를 정확히 파악하기 어려운 점

해결 방법

  • 로비 진입 시 Resources.UnloadUnusedAssets()GC.Collect()로 불필요 리소스 정리
  • 오디오와 아틀라스 설정을 통일하고 텍스처 압축 및 패킹 정리 적용
  • 로그인 씬 분리 등으로 장기적으로 씬·에셋 구조 개선 기반 마련

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...