CPU가 GPU에게 이것을 그려라 라고 명령을 보내는 것. 많을수록 성능이 저하된다.
비싼 이유의 문제 : 명령 자체의 오버헤드
CPU: "이 메시 그려" → GPU: (준비) → (그림) → "완료"
CPU: "이 메시 그려" → GPU: (준비) → (그림) → "완료"
CPU: "이 메시 그려" → GPU: (준비) → (그림) → "완료"
준비 비용이 매번 발생한다. GPU 성능이 아무리 좋아도 드로우콜이 많으면 CPU가 병목이 된다.
드로우콜 최적화는 GPU가 아니라 CPU-GPU 통신 최적화를 뜻한다.
드로우콜의 실제 개수 : 오브젝트 수 x 패스 수 = 실제 드로우콜 수
드로우콜 줄이는 핵심 기법들
스태틱 배칭 : 같은 머티리얼 메시를 하나로 합친다. 드로우콜N개-> 1개, UE5에서 Merge Actor
인스턴싱(ISM) : 같은 메시를 한 번 명령으로 N개 그린다. 드로우콜N개 -> 1개, UE5에서 ISM/HISM
머티리얼 병합 : 여러 머티리얼을 하나의 아틀라스로. 드로우콜 감소, UE5에서 Material Atlas
Nanite : 가상 지오메트리로 자동 최적화. 폴리곤 제한 해방, UE5 Nanite
컬링 : 안 보이는 것은 아예 안 그림. 드로우콜 제거, UE5 Frustum/Occlusion Culling
HLOD : 원거리 오브젝트 군을 하나로 합침, 원거리 드로우콜 감소, UE5의 HLOD
ISM vs HISM
ISM : 모든 인스턴스가 같은 LOD 사용으로 단순 반복 배치에 적합하다. ex) 나무, 돌, 소품 등
HISM : 인스턴스마다 LOD 독립 적용으로 카메라 거리에 따라 자동으로 LOD 전환이 된다. ex) 대규모 식생, 군중에 적합
연결되는 단어들
배칭(Batching) : 여러 드로우콜을 하나로 합치는 최적화 기법. 스태틱 배칭과 동적 배칭으로 나뉜다.
인스턴싱(Instancing) : 같은 메시를 하나의 드로우콜로 여러 번 그리는 기법
오버드로우(Overdraw) : 같은 픽셀을 여러 번 그리는 것. 반투명 오브젝트가 많을 때 발생한다. 드로우콜과는 별개의 GPU 병목
RenderDoc : GPU 프레임 분석 도구. 드로우콜 하나하나 뜯어볼 수 있다. 셰이더 병목 찾을 때 사용
stat scenerendering : UE5 콘솔 명령. 현재 씬의 드로우콜 수, 폴리곤 수, 배칭 현황을 실시간으로 확인 가능하다.
'Word' 카테고리의 다른 글
| KPI ( Key Performance Indicator ) (0) | 2026.07.02 |
|---|---|
| 사용자 여정 ( User Journey ) (0) | 2026.07.01 |
| 레거시 코드 ( Legacy Code ) (0) | 2026.06.29 |
| 경제 시스템 ( Game Economy ) (0) | 2026.06.29 |
| LOD ( Level of Detail ) (1) | 2026.06.26 |
