render budget

렌더링 최적화는 GPU 작업과 렌더 스레드 제출 비용을 먼저 분리한다

화면 품질을 유지하려면 어떤 값을 낮출지보다 어느 비용 축이 프레임을 잡고 있는지부터 확인합니다.

GPU 픽셀, 셰이더, 그림자, 후처리
Draw 드로우 콜, 상태 변경, 제출
Scene 메시, 머티리얼, 컬링, 조명
GPU Bound

GPU가 픽셀과 셰이더 작업을 끝내지 못해 Frame이 늘어나는 상태입니다.

셰이더 비용 Shadow Post Process
Render Thread Bound

CPU가 렌더 명령을 만들고 RHI로 넘기는 과정에서 늦어지는 상태입니다.

Draw Calls State Change Culling
비용 축
주요 원인
먼저 줄일 값
픽셀 복잡도
투명, 마스크드, 텍스처 샘플, 오버드로우
불투명 우선, 셰이더 명령 수, 파티클 면적
기하 복잡도
보이는 삼각형 수와 원거리 메시
LOD, HLOD, 모델 단순화, 노멀 맵
그림자
동적 광원, 캐스케이드, 그림자 해상도
Cast Shadows 제한, Static/Stationary 우선
드로우 제출
많은 액터, 머티리얼 전환, 반복 메시
인스턴싱, 머지, 아틀라스, 컬링 설정
렌더 품질 보존선

효과를 끄기 전에 플레이어가 봐야 하는 형태, 명암, 피드백을 정합니다. 그 다음 같은 카메라에서 GPU와 Draw 시간이 실제로 줄었는지 재측정합니다.