본문 바로가기
모바일/유니티

유니티 | 스크립트와 리소스 최적화

by KISCH 2020. 3. 7.
반응형


스크립트 최적화


⊢ FindObject 계열 함수들은 매우 느리므로 init 미리 캐싱
 debug.log 지우기
 나눗셈보다는 곱셈
 가비지 컬렉터 : GC는 언제 일어날지 모른다 -> 일어나면 렉 발생 -> 발생 안하는것이 최선
 오브젝트 풀링 : 
∟ foreach 대신 for문


유니티최적화





리소스 최적화


이미지

 권장 압축 텍스쳐
아이폰 : PVRCT
안드로이드 : DXT(Tegra), ATC(Adreno), 공통(ETC1)
 사이즈는 무조건 2의 제곱 : POT이 아닌 경우 POT으로 변환되어 로딩
 아틀라스로 최대한 묶음

오디오

1. Audio Listener : 오디오소스 소리를 듣고 수집해 최종출력, 마이크와 같은 장치로 기능. 씬에서 Audio Source로부터의 입력을 수신하여 컴퓨터 스피커를 통해 사운드를 재생
2. Audio Source : 소리를 발생, 각각의 오디오클립 플레이. 오브젝트에 오디오 클립을 연결하는 컴포넌트
3. Audio Clip : 배경음악이나 효과음 등 사운드 파일

 스테레오 의미 없음 : 모두 92kb, 모노
 임포트 시 디폴트로 3D - .2D로 변경
 압축, 비압축 구별
배경 : 압축(mp3, ogg)
비압축 : 효과음, 임펙트(wav)

Dynamic Font

 장점 : 그때 그때 사용하는 글자들만 폰트 텍스쳐에 그려두고 사용 메모리 낭비가 적고 사이즈 크게 표시 가능
 단점
기본 크기 256 by 256
추가할 공간이 없을 때 증가
증가 시 더 이상 사용하지 글자 제거 -> 이 때 특정 폰에서 글자 사라짐


드로우콜 최적화


 패널 사용 최소화
 아틀라스 : 씬 단위
 UI 뎁스 지정 


오브젝트 풀링


생명주기가 짧고 빈번하게 인스턴스되는 오브젝트 
-> 시작전에 미리 넉넉하게 인스턴스화
-> 소멸이 아닌 setActive


빌드


빌드구조


Class 폴더 : unity 런타임 및 Objective-C를 통합하는 코드가 저장Data 폴더 : 게임 에셋, dll 파일 등. 수정 금지

Libraries 폴더 : 어셈블리

빌드 타겟

유니티와 xCode 빌드타겟은 일치 

빌드 AOS

build setting 에 google android project 체크




반응형

'모바일 > 유니티' 카테고리의 다른 글

유니티 | 파티클 모델링  (0) 2020.03.07
유니티 | 메카님 애니메이션  (0) 2020.03.07
유니티 | 텍스처와 아틀라스  (0) 2020.03.07
유니티 | 이미지와 모델링  (0) 2020.03.07
유니티 | IAP 설정과 검증  (0) 2020.03.07
유니티 | 클래스  (0) 2020.03.07
유니티 | 컴포넌트  (0) 2020.03.06
유니티 | 게임오브젝트와 프리팹  (0) 2020.03.06

댓글