언리얼 C++

렌더링 최적화

렌더링 최적화는 GPU 시간, render thread 시간, draw call 수, overdraw를 분리해 병목을 찾는 작업입니다. 머티리얼, LOD, 인스턴싱, culling을 같은 화면 캡처 기준으로 비교해야 개선 효과를 확인할 수 있습니다.

오버드로우, LOD 전환 거리, 폴리곤 수를 기준으로 렌더링 병목을 줄입니다.

렌더링 최적화 흐름

1

렌더링 병목 현상 이해

렌더링 성능 문제는 크게 GPU 바운드(GPU Bound)와 CPU 바운드(CPU Bound) (렌더 스레드)로 나눌 수 있습니다.

2

GPU 바운드 최적화 기법

픽셀 복잡도 및 오버드로우 감소 머티리얼 최적화 셰이더 명령어 수 줄이기: 복잡한 수학 연산, 불필요한 텍스처 샘플링을 줄입니다.

3

CPU 바운드 (렌더 스레드) 최적화 기법

드로우 콜 감소 (Draw Call Reduction) 드로우 콜은 CPU가 GPU에 렌더링 명령을 보내는 비용이 큰 작업입니다.

4

기타 렌더링 최적화 팁

엔진 스케일러빌리티 설정: scalability 명령어는 전역 그래픽 품질 설정을 한 번에 조정합니다.