Unreal C++ · Bottleneck

CPU/GPU Bottleneck 판별 흐름

Stat, ProfileGPU, Unreal Insights 결과를 기준으로 Game Thread, Render Thread, GPU 병목을 분기하고 다음 조치를 고른다.

01

stat unit 확인

Game, Draw, GPU 시간 중 가장 큰 값을 기준으로 첫 분기를 한다.

split
02

CPU 추적

Game이 높으면 Insights에서 Tick, AI, Physics, Animation 시간을 확인한다.

game thread
03

Render 추적

Draw가 높으면 draw call, visibility, skeletal mesh, render state 변경을 본다.

render thread
04

GPU 추적

GPU가 높으면 ProfileGPU로 shadow, post process, translucency, material 비용을 나눈다.

profilegpu
Game high
로직 비용 병목 Actor Tick 수, Blueprint 호출, AI/Physics 업데이트를 줄인다.
CPU
Draw high
렌더 준비 병목 mesh 수, material slot, occlusion, draw call을 줄인다.
Render
GPU high
픽셀·셰이더 비용 병목 해상도, shadow, translucency, post process, shader complexity를 본다.
GPU

병목 측정 기준

단일 변경 최적화는 한 번에 하나씩 적용하고 같은 장면에서 재측정한다.
평균보다 프레임시간 FPS보다 ms 단위 Game/Draw/GPU 값을 기준으로 판단한다.
품질 확인 성능 개선 후 시각 품질과 플레이 감각이 지나치게 떨어지지 않았는지 본다.