[Unity] Batching & Frame debugger

2026. 8. 13. 22:10ㆍ게임/Unity

유니티 성능 최적화 기초 내용입니다.

- 드로우콜(Draw call): cpu에서 gpu로 오브젝트를 그리라는 명령, 성능과 직결됩니다.

 

- Command Buffer: 드로우콜 시 따라오는 데이터(여러 버퍼의 집합)

ㄴ 그 중 그래픽쪽(머티리얼, 쉐이더 등) 버퍼를 SetPass라고 부름,

- SetPass Call: Setpass를 전달하는 행위

 

- 배치(batches): CPU가 (Drawcall + Command Buffer)를 포장해서 GPU에 넘기는 것이자 한 프레임동안 유니티가 처리하는배치의 횟수
- 배칭(batching): 한 프레임에 같은 종류의 오브젝트를 한 번만 호출하여 배치를 줄이는 기법

 

Frame debugger란
한 프레임을 렌더링하는 드로우콜을 드버깅할 수 있는 툴.


프레임 디버거를 통해서 각 프레임이 렌더링되는 과정을 확인하며  배칭이 잘이루어 지고 있는지 등을 확인 가능함.

위 사진처럼 배치를 잡아먹는 요소를 확인하고, 중복되거나 비효율적인 부분이 있는지 확인할 수 있다.
ex) 하나의 스프라이트 파일에 같이 사용될 이미지를 모아두면 Draw call을 줄일 수 있다.(스프라이트 아틀라스)

> create > 2D > sprite Atlas

 

ex) hp바와 캐릭터가 번갈아가며 랜더링하느라 하나의 hp이미지를 사용하지만 한 프레임에서 여러 번 호출하는 경우

> sorting layer로 UI, enemy, background 등을 구분하면 같은 레이어끼리 랜더링이 된다.

>> hp 스크립트의 Start에서 sorting layer를 부여한다.

 

요약정리

1. Statistics에서 batch를 확인한다.

 

 

2. 최적화가 필요하다면 frame debugger에서 줄일 수 있는 요소를 확인한다.

 

3. sprite atlas / sorting layer 등을 이용해 최적화를 진행한다.

 

 

https://youtu.be/47m2pvSNl-A?si=uUki7OfqwwVElmWt

 

'게임 > Unity' 카테고리의 다른 글

[Unity] 캐릭터 추적 시 떨림 현상 해결  (0) 2026.08.14
[Unity] Batching 2  (0) 2026.08.13
[Unity] Look Up Table (LUT)  (0) 2026.08.13
유니티 강의 정리 4  (0) 2026.07.30
유니티 강의 정리 3  (0) 2026.07.27