뭔가 눈에 보이는걸 만들어 갈 때는 즐겁게 진도가 쭉쭉 나갔던것 같은데, 최근에는 약간 이론 위주로 성능 최적화를 하는 내용에 대해서 계속 나오게된다.
간단한 Prefab 캐시 시스템 제작 (5)
Effect 캐시를 위한 수정 (1)
- EffectManager에 캐시를 위한 정보 추가
- Load 메소드
- Prepare 메소드
- GenerateEffect 메소드에서 캐시를 사용하도록 수정
- RemoveEffect 메소드 추가
Effect 캐시를 위한 수정 (2)
- CFX_AutoDestructShuriken 클래스를 모방하여 수정한 AutoCachableEffect 클래스 제작
- WarFX에서 사용중인 이펙트 프리팹을 복제해서 Resources/Prefabs로 이동
- 복제된 프리팹에서 기존 클래스를 제거 하고 AutoCachableEffect 클래스를 사용
유니티 에디터로 돌아와서 EffectManager를 선택하고 인스펙터에서 이펙트 프리팹을 넣는다. 캐시 카운트를 30개 정도로 지정하면 게임이 시작될때 이펙트가 30개 정도 생성되고 미리 만들어둔 30개의 이펙트를 돌려가면서 재활용하며 쓰게된다. 이전에 다른 캐싱 처리와 이펙트 캐싱 처리는 거의 동일한 방법으로 돌아간다고 볼 수 있겠다.
필요 이상의 부하가 생길 수 있는 상황들
- 파일 로딩
- 생성할 때 (Instantiate 호출)
- Active 될 때
https://fastcampus.co.kr/dev_online_game
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.