본문 바로가기
그래픽스/최적화

[최적화] unity static batching _ 유니티 정적배칭

by 유니티세상 2025. 6. 26.

static batching - 정적 배칭

정적(Static)으로 표시된 여러 오브젝트들을 미리 하나의 메시로 결합해서, 런타임 시 렌더링을 효율적으로 수행하는 방식

 

움직이지 않는(Static)

여러 개의 오브젝트를 하나로 묶어 한 번에 렌더링 하는 최적화 기법 Batching(배칭)

 

Batching을 통해 CPU에서 GPU로 보내는 명령 수를 줄이면, 더 많은 오브젝트를 부드럽게 렌더링할 수 있습니다.

어떤 상황에서 쓰나?

  • 이동/회전/스케일 변경이 전혀 없는 오브젝트 (예: 건물, 바위, 배경 오브젝트 등)
  • 같은 머티리얼을 공유하는 경우가 많을수록 효과적
  • 수많은 오브젝트를 렌더링해야 할 때 드로우 콜을 줄이기 위해 사용

 

장점

- 드로우콜 감소

- 성능 향상

- 자동 처리

 

단점 + 주의

- 메모리 사용증가 ( 각 정적 메시가 병합된 별도 메시로 메모리에 저장됨 )

- 런타임에서 움직일 수 x ( Static 설정된 오브젝트가 움직이면 예상치 못한 동작 발생 )

- 빌드타임 비용증가 ( 메시 병합 작업이 빌드 시점에 처리되어 빌드 시간이 길어질 수 있음 )

 

머티리얼이 다르면 배칭이 안되는 이유?

Batching은 같은 셰이더/머티리얼을 공유해야만 GPU가 동일한 설정으로 묶어 렌더링할 수 있기 때문입니다.
서로 다른 머티리얼을 가진 오브젝트는 서로 다른 Draw Call로 처리됩니다.


배칭이 안되는 대표적인 경우

  • 머티리얼이 다름
  • 쉐이더의 설정이 다름
  • 조명 조건이 달라서 GPU 설정이 달라짐
  • 메시 수가 너무 크거나 복잡함
  • GPU Instancing이 더 적합한 경우

관련 용어

  • Draw Call: GPU에게 “이걸 그려줘!”라고 보내는 명령 한 번
  • Overdraw: 같은 픽셀을 여러 번 그리는 현상 (배칭과는 별개의 최적화 대상)
  • Instancing: 같은 메시/머티리얼을 갖는 객체를 GPU가 직접 복사해서 렌더링하는 기법 (대규모 오브젝트 처리에 좋음)

 

배칭을 유지하려면?

  1. 같은 머티리얼을 사용 (텍스처, 셰이더, 속성 모두 같게)
  2. 가능하면 오브젝트를 Static으로 설정 (Static Batching 활용)
  3. SpriteRenderer나 UI 요소는 Atlas 통합 텍스처 사용
  4. 서로 다른 값이 필요한 경우 Material Property Block 대신 GPU Instancing 사용 고려

 팁: 실제로 배칭이 되나 확인하는 방법

  • Window → Analysis → Frame Debugger 열기
  • Play 상태에서 "Enable" 누르면 Draw Call 묶임 여부 확인 가능
  • 배칭되면 Batched라고 표시되고, 안 되면 SetPass로 새로 그리는 걸 확인할 수 있어요

켜주기

 

 

에디터창에서 있었을때

 

플레이 했을때

 

 

https://learnandcreate.tistory.com/507

 

유니티에서 정적배칭(static batching) 사용하기

유니티에서 정적배칭(static batching) 사용하기 정적배칭을 사용하면 움직이지않고(static) 동일한 재질을 공유하는 오브젝트들을 일괄 처리함으로써 드로우콜을 줄일수있다. 정적배칭을 활성화하

learnandcreate.tistory.com

https://srdeveloper.tistory.com/110

 

[유니티] 배칭(다이나믹, 스태틱)

배칭(Batching) - 드로우콜을 줄이는 작업 (1개의 드로우콜이 1개의 배치가 되는데, 여러개의 배치를 하나로 묶어서 하나의 배치로 만드는 것을 배칭이라고 한다.) 스태틱 배칭(Static Batching) - 정적(

srdeveloper.tistory.com

https://mentum.tistory.com/505

 

드로우 콜(draw call), 배치(batch), set pass call, GPU Instancing

참고서적 : 유니티 그래픽스 최적화 스타트업 최적화를 하다보면 드로우콜(draw call), 배치(batch), 셋 패스 콜(set pass call) 등의 용어를 접하게 된다. 드로우콜(draw call) - 오브젝트가 실제 화면에 렌

mentum.tistory.com