언리얼 C++

CPU, GPU 병목 현상 해결

성능 저하는 먼저 Game Thread, Render Thread, GPU 중 어느 시간이 프레임 예산을 넘는지 나누어 봐야 합니다. 병목 위치가 달라지면 최적화 대상도 로직, draw call, 셰이더 비용으로 갈라집니다.

Game Thread, Render Thread, GPU 시간을 나눠 측정해 실제 병목 위치에 맞춰 최적화합니다.

CPU 흐름

1

병목 현상 진단: CPU vs GPU

최적화의 첫걸음은 병목 현상이 어디서 발생하는지 정확히 아는 것입니다.

2

CPU 병목 현상 해결

CPU 병목 현상은 게임 로직 또는 렌더링 명령 준비 과정에서 CPU가 과도하게 사용될 때 발생합니다.

3

GPU 병목 현상 해결

GPU 병목 현상은 GPU가 픽셀 처리, 정점 처리, 셰이더 계산 등 실제 렌더링 작업을 수행하는 데 시간이 오래 걸릴 때 발생합니다.

4

기타 고려 사항 및 고급 기법

FAsyncTask나 Async는 무거운 작업을 분리해 Game Thread 부담을 줄일 때 사용합니다.