유니티 SRP Batcher, 너 어디까지 허용되니?
SRP Batcher가 “같은 셰이더 Variant(= Keyword 집합)” 만 묶어 준다는 사실은 많이 알려져 있지만, 무엇이 Variant를 갈라놓고 어디까지 다른 값을 허용하는지는 문서 곳곳에 흩어져 있습니다. 아래
wlsdn629.tistory.com
정적배칭과 Draw Call에 대해서
정적배칭을 사용하는 최적화 방법정적이란 말 그대로 움직이지 않는 것을 뜻하며, 움직이지 않는 정적 오브젝트에 활용하는 기법이다. 동일한 재질을 공유하는 오브젝트들을 일괄 처리해서 드
wlsdn629.tistory.com
Unity Static batcing이란? (실습)
Static batcing(정적 배칭) 이란 드로우 콜을 줄이기 위해 움직이지 않는 메시를 결합 하는 드로우 콜 배칭 방식입니다 드로우 콜 배칭이란? Unity가 메시(Mesh)를 더 적은 드로우 콜로 렌더링 할 수 있
wlsdn629.tistory.com
진우야! 기억해라!
Statich Batching은 동일 메테리얼인 객체들끼리만 묶어줄 수 있단다! 동일 메테리얼 사용하면 메쉬를 하나로 묶어준다!!!
정적 배칭은 움직이지 않는(static) 메쉬들을 결합하여 드로우 콜을 최적화하는 방법입니다.
여러 오브젝트의 메쉬를 미리 하나의 큰 객체로 만들어, 렌더링 시 상태 변경을 줄인 채 일련의 Draw Call을 수행합니다.
SRP Batcher랑 뭐가 다르냐? 어떻게 사용하냐?
SRP 배처는 드로우 콜 사이의 렌더 상태 변경을 줄이는 것에 초점을 맞춥니다.
두 기법은 충돌하지 않고 각각의 장점을 동시에 활용할 수 있습니다.
Unity의 처리 순서를 보면, 빌드 시점에 Static 배칭이 먼저 수행되어 여러 오브젝트가 합쳐진 메쉬가 생성됩니다. 그리고 런타임 렌더링 시에는 SRP 배처가 작동하면서, 배칭된 메쉬들을 포함하여 동일 셰이더를 쓰는 Draw Call들을 묶어 CPU 작업을 최적화합니다. 간단히 말하면
- Static Batching ⇒ Mesh 결합 단계 최적화 (오브젝트 수를 줄이고, 변환을 미리 적용)
- SRP Batcher ⇒ DrawCall 발행 단계 최적화 (머티리얼/셰이더 세팅을 재사용하여 CPU 부하 감소)
두 최적화는 서로 보완적인 관계로, 정적 배칭된 오브젝트들도 SRP 배처의 혜택을 받을 수 있습니다. 예를 들어 정적으로 배칭된 수백 개의 오브젝트가 하나의 머티리얼로 합쳐졌다면, 결과적으로 Draw Call 수도 줄고, 남은 드로우콜들도 SRP 배처로 추가 최적화되는 구조입니다.
좀 더 이어서..다음 시간에..계속..수정...