추천 서적 : Unity 그래픽 최적화 & 파이프렌더링 전략 오지현 저
1 유니티 프로파일러
- 성능 저하 원인 파악
- Unity Profiler, Frame Debugger 등을 활용하여 CPU/GPU 병목 구간 분석
2 덜그리기
- 카메라에 안 보이는 물체는 그릴 필요 없다
- 클리핑, 카메라 범위 밖 오브젝트 제거 등을 통해 처리
3 같이 그리기 배칭 최적화
정적 배칭 (Static Batching)
- 움직이지 않는 오브젝트에 적용
- Batching Static 옵션 설정 시, 여러 오브젝트를 하나로 묶어서 그려줌
GPU 인스턴싱 (GPU Instancing)
- 같은 메시에 재질만 다른 경우, 인스턴싱을 통해 드로우콜 절감
- 효율적이지만 재질 공유 조건 필요
4 라이트 최적화
실시간 라이트
- 퍼포먼스 부담이 큼 최소화필요
베이크드 라이트
- 미리 계산된 조명값 사용 성능 우수
- 라이트 프로브를 통해 움직이는 오브젝트에도 적용가능
라이트프로브 그룸
- 3D공간에 점을 배치 각 위치에 대한 조명 정보를 미리 저장
- 움직이는 오브젝트가 해당 위치의 조명값을 보간하여 사용
5 텍스쳐 최적화
- Unity 내부만으로는 제약이 많음
- Texture Baking 등의 외부틀 활용 필요
6. 오클루전 컬링 (Occlusion Culling)
개념
- 큰 장애물(벽 등)이 시야를 가릴 경우, 그 뒤의 오브젝트는 렌더링하지 않음
용어 정리
- Occluder Static: 가리는 오브젝트 (ex. 벽)
- Occludee Static: 가려지는 오브젝트 (ex. 의자)
주의사항
- 무조건 성능 향상은 아님→ CPU 연산이 추가되어 오히려 CPU 부하 증가 가능성도 있음