반응형
SRP Batcher는 "각 Draw Call의 처리 속도(CPU 측면)"를 최적화하는 기능.
GPU Instancing과 Static Batching은 "Draw Call의 개수 자체"를 줄이는 기능이다.
Unity URP에서 SRP Batcher vs Draw Call 최적화
- SRP Batcher는 Unity URP에서 기본 활성화되어 있고, Shader + Material 셋업 비용을 줄여주는 CPU 최적화 기법이다.
- 하지만 Draw Call(Batches) 자체를 줄여주는 기능은 아니다. Game 창에서 Batches 수는 SRP Batcher와 무관하게 변하지 않는다.
- SRP Batcher는 내부적으로 Shader 데이터를 미리 캐싱하여, 매 프레임마다 반복되는 셰이더 설정 작업을 빠르게 처리한다.
모바일에서 뭐가 이득인가?
Draw Call 개수를 줄이는 최적화 (Static Batching, GPU Instancing)
- 모바일은 CPU 성능이 낮고, 발열/전력에 민감함
- Draw Call이 많으면 CPU → GPU 간 렌더링 명령 비용이 치명적
- 그래서 Static Batching, GPU Instancing으로 Draw Call 자체를 줄이는 게 가장 효과적임
SRP Batcher 끄는 방법 (Unity 6 URP 기준)
1. Assets 폴더에서 RPAsset으로 검색한다.
2. Mobile_RPAsset, PC_RPAsset 등의 URP 설정 파일을 찾을 수 있다.
3. 해당 RPAsset을 클릭하면, 인스펙터 창에 다양한 설정이 뜨지만 기본 뷰에서는 SRP Batcher 관련 옵션이 보이지 않는다.
4. 인스펙터 우측 상단의 메뉴(⋮ 또는 ☰)를 클릭하고 Debug 모드로 전환한다.
5. 이제 하단 쪽에 Use SRP Batcher 항목이 보이는데, 이걸 비활성화(체크 해제) 하면 SRP Batcher가 꺼진다.
반응형
'유니티' 카테고리의 다른 글
타워 디펜스 (0) | 2024.04.25 |
---|---|
[ Unity ] 유니티 빌드 용량을 줄이기 위한 빌드 로그 보는 방법. (0) | 2024.04.16 |
[ Unity ] summary 와 param을 사용한 함수 주석 처리 방법. (0) | 2024.04.14 |
[ Unity ] 유니티 Resolver 실패 해결방법. ERROR: JAVA_HOME is set to an invalid directory (0) | 2024.04.12 |
[ Unity ] Float 형 소수점 버리기 (1) | 2024.02.17 |