유니티 코리아의 아이콘 꽃미남 오지현(오즈라엘 @ozlael)님이 G-CON X IGC 에서 게임 개발 시 메모리 최적화를 주제로 강연을 했군요.
크게 신경써야 할 부분, 메모리 프로파일러, 코딩 팁 등을 소개합니다.
주제 : 모바일 게임, 메모리 최적화도 안하면 어쩔티비
메모리 프로파일러 (Memory Profiler)
기존 프로파일러의 메모리 모듈을 확장한 메모리 프로파일러 (1.0.0) 패키지를 소개하고 있습니다.
메모리 프로파일러 공식 유니티 문서
https://docs.unity3d.com/Packages/com.unity.memoryprofiler@1.0/manual/index.html
어드레서블 (Addressables)
중복된 에셋으로 메모리가 낭비되는 것을 관리하기 위해 어드레서블(Addressable) 시스템 활용을 권장합니다.
유니티 코리아 유튜브 공식 채널에서도 이 어드레서블을 소개한 영상이 있어 링크 남겨봅니다.
유나이트 서울 2020 - Addressables 사용 가이드 (초급) Track3-4
텍스쳐 포멧 (Texture Format)
텍스쳐 포멧에 대한 개념적인 이야기와 권장되는 포멧 이야기도 다루고요.
신형 모바일 기기가 많이 보급된 국가를 대상으로 서비스 한다면 ASTC 포멧을 권장한다고 합니다. 그렇지 않은 국가에서 서비스를 한다면 좀 보수적으로 접근 해야겠죠. (아이폰 PVRTC, 안드로이드 ETC)
씬 전환에 따른 로딩 테크닉
A씬에서 C씬으로 넘어갈 때, C씬의 로딩이 끝나면 A씬을 내리가 되는데, 이 때 한번에 A, C 두 개의 씬이 메모리에 올라가면서 문제가 생길 수 있습니다. 그래서 가벼운 B씬을 사이에 두고, A씬이 Unload 된 뒤에 C씬을 로딩하는 방식으로 로딩 브릿지 씬(제 맘대로 네이밍)을 두면 좀 더 안정적인 씬 로딩이 가능합니다.
가비지 컬렉터 (Garbage Collector) 이해와 유의사항들
유니티 프로그래밍에서 빠질 수 없는 게 가비지 컬렉터, 가비지 컬렉션의 이해라고 할 수 있습니다. 오브젝트 풀을 활용한다거나, 문자열 및 LINQ 등의 탐색, 비교 등의 여러 알고리즘 코드 작성 시 불필요한 가비지가 발생하지 않게 한다거나 하는 등 여러가지 알려진 유의사항 들이 있습니다.
기사를 읽고 내용을 제 방식대로 요약, 정리해봤습니다. 좋은 내용인 것은 물론이고 중요한 내용이기 때문에 주기적으로 컨퍼런스 강연을 통해서도 반복적으로 강조되는 내용도 있었습니다. 오랜 지인이자 연사로 고생해주신 오즈라엘님에게도 감사인사 드립니다.
기사 링크
https://www.inven.co.kr/webzine/news/?news=278863&vtype=pc
'유니티 엔진 (Unity Engine)' 카테고리의 다른 글
Warning 처리> .android/repositories.cfg could not be loaded. (0) | 2023.04.23 |
---|---|
90만원 상당의 게임 개발 에셋 18개를 4만원에, 유니티 에셋스토어 메가 번들 할인 시작 (0) | 2023.04.11 |
Unity 에셋 참조를 Assets 폴더 하위에서 모두 찾는 방법 (0) | 2023.04.11 |
Unity 플랫포머 샘플 게임 구동 해보고 살펴보기 (0) | 2022.11.22 |
[Unity] 에셋스토어 에셋 구입 시 Tax Number? (0) | 2022.11.03 |
[Unity] Component의 컨텍스트 메뉴(ContextMenu) 만들기 (0) | 2022.11.02 |
[Unity] PlayerPref 레지스트리 저장 경로 (0) | 2022.07.26 |