Static batcing(정적 배칭) 이란 드로우 콜을 줄이기 위해 움직이지 않는 메시를 결합 하는 드로우 콜 배칭 방식입니다
드로우 콜 배칭이란?
- Unity가 메시(Mesh)를 더 적은 드로우 콜로 렌더링 할 수 있도록 메시를 결합하는 드로우 콜 최적화 방법이다
- 정적 배칭과 동적 일괄 처리가 있다
정적 배칭을 사용하면 움직이지 않고(static) 동일한 재질을 공유하는 오브젝트들을 일괄 처리함으로 Draw Call 및 batches을 줄일 수 있습니다
Draw Call이란?
- 드로우콜(Draw Call)이란 CPU가 CPU에게 렌더링을 부탁하는 것이다
batch란?
- Batch는 DP Call과 상태 변경들을 합친 넓은 의미의 드로우콜이다
DP Call이란?
- CPU는 명령을 보내고 마지막으로 GPU에게 메시를 그리라는 명령을 보낸다. 이 명령을 Draw Primitive Call, DP Call이라고 한다
실습
![](https://blog.kakaocdn.net/dn/1Jzet/btrSmZukUe4/LJRuBhe5qojMlDhEHckPUK/img.png)
유니티 환경에서 여러개의 오브젝트를 씬에 배치해봤습니다
Statistics을 통해 현재 Batches의 개수를 파악할 수 있습니다
![](https://blog.kakaocdn.net/dn/bTS1YZ/btrSnEwIcrM/P9KDwnSm5bzKEvJGNXWbiK/img.png)
오브젝트들을 한꺼번에 묶은 다음
![](https://blog.kakaocdn.net/dn/lqIYk/btrSjoh40Dw/KJGbn1VEkN85nnskzs96zK/img.png)
Batching Static으로 만들어 줍니다
![](https://blog.kakaocdn.net/dn/l6ZzA/btrSjnDslac/l7J7db1tgzGOcMtRf2M9fk/img.png)
그다음 Player Setting에 들어가서 Static Batching을 체크해줍니다!
그리고 에디터를 실행해보면
![](https://blog.kakaocdn.net/dn/bVd1By/btrSnFI8Xss/nXmh4K5G88Kh1X7wFr35P1/img.png)
Batches의 개수가 줄어든 것을 확인할 수 있음과 동시에 Saved by batcing의 개수가 늘어난 것을 볼 수 있습니다
이 말은 즉, 오브젝트들이 동일한 재질을 공유하기 때문에 batcing이 한 번에 일어난다는 뜻?으로 해석했습니다
![](https://blog.kakaocdn.net/dn/bfZJm6/btrSpwynL65/kCLi4KrPcTjeriZXF0Ihq0/img.png)
오브젝트들은 Combined Mesh라는 Mesh를 할당받고 있습니다
결합된 메시는 씬을 시작할때 생성되며 런타임에서 추가적인 버텍스 연산을 하지 않아서 정적배칭은 동적배칭과 달리 단위 오브젝트의 버텍스 개수에 제한이 없다는 장점이있다고 합니다
+
드로우콜을 줄여서 얻는 이점과
정적배칭의 단점에는 무엇이 있을까?
참고자료
https://learnandcreate.tistory.com/507
유니티에서 정적배칭(static batching) 사용하기
유니티에서 정적배칭(static batching) 사용하기 정적배칭을 사용하면 움직이지않고(static) 동일한 재질을 공유하는 오브젝트들을 일괄 처리함으로써 드로우콜을 줄일수있다. 정적배칭을 활성화하
learnandcreate.tistory.com