종합 프로파일링 가이드
Nanite, Lumen, VSM 통합 성능 분석
프로파일링 도구
| 도구 | 용도 | 활성화 |
|---|---|---|
| Unreal Insights | CPU/GPU 타임라인 분석 | -trace=default,gpu |
| GPU Profiler | GPU 패스별 시간 | ProfileGPU (Ctrl+Shift+,) |
| RenderDoc | 프레임 단위 분석 | -RenderDoc |
| PIX | Xbox/DirectX 분석 | 외부 도구 |
| Nsight | NVIDIA GPU 분석 | 외부 도구 |
Nanite 프로파일링
// 기본 통계
stat Nanite
// 출력 정보:
Triangles: 45,234,567 // 렌더링된 삼각형
Clusters: 352,891 // 처리된 클러스터
Instances: 12,456 // 인스턴스 수
// 상세 통계
stat NaniteDetails
// 시각화 모드
r.Nanite.Visualize.Triangles = 1 // 삼각형 밀도
r.Nanite.Visualize.Clusters = 1 // 클러스터 경계
r.Nanite.Visualize.Overdraw = 1 // 오버드로우
// 스트리밍 상태
stat NaniteStreaming
높은 삼각형 수: MaxPixelsPerEdge 증가 필요
많은 클러스터: 인스턴스 수 과다, 거리 컬링 확인
스트리밍 지연: PoolSize 증가 필요
Lumen 프로파일링
// 기본 Lumen 통계
stat Lumen
// 출력 정보:
Screen Probes: 1024
Radiance Cache Probes: 8192
Surface Cache Updates: 45
// 상세 통계
stat LumenScene
// 시각화 모드
r.Lumen.Visualize.Mode = 1 // Surface Cache
r.Lumen.Visualize.Mode = 2 // Mesh SDFs
r.Lumen.Visualize.Mode = 3 // Global SDF
r.Lumen.Visualize.Mode = 4 // Radiance Cache
// Card 시각화
r.Lumen.Visualize.CardPlacement = 1
- Screen Traces > 2ms: 해상도 낮추기
- Mesh SDF Tracing > 3ms: SDF 품질 감소
- Surface Cache 누락 많음: Card 배치 확인
- HWRT > 5ms: SWRT 전환 고려
VSM 프로파일링
// 섀도우 렌더링 통계
stat ShadowRendering
// 출력 정보:
Physical Pages Used: 2456/4096
Cache Hit Rate: 87%
Invalidations: 234
// VSM 시각화
r.Shadow.Virtual.Visualize = 1 // 페이지 할당
r.Shadow.Virtual.Visualize = 2 // 캐시 상태
// 캐싱 상태 확인
r.Shadow.Virtual.Cache.DrawInvalidatingBounds = 1
// SMRT 비용
stat SMRT
체커보드 패턴: 페이지 풀 부족 -> MaxPhysicalPages 증가
낮은 Cache Hit: 무효화 많음 -> WPO 확인
SMRT 비용 높음: 샘플 수 감소
통합 프로파일링 워크플로우
전체 성능 -> 2. ProfileGPU
GPU 병목 확인 -> 3. 개별 stat
상세 분석 -> 4. 최적화
설정 조정
// 모든 렌더링 통계 한번에
stat unit
stat fps
stat gpu
// 시스템별 상세
stat Nanite
stat Lumen
stat ShadowRendering
// GPU 프로파일러
ProfileGPU
// 주요 확인 항목:
// 1. Frame Time - 16.6ms (60fps) / 33.3ms (30fps)
// 2. Game Thread - 게임 로직 비용
// 3. Draw Thread - 드로우 콜 비용
// 4. GPU Time - 렌더링 비용
// 상세 GPU 타이밍
// - BasePass: 지오메트리 렌더링 (Nanite 포함)
// - Lumen: GI 및 반사
// - Shadow: VSM 렌더링
// - PostProcess: 후처리 효과
최적화 체크리스트
- Nanite
- 모든 Static Mesh Nanite 활성화
- MaxPixelsPerEdge 조정 (1.0~2.0)
- 스트리밍 풀 크기 적절히 설정
- Lumen
- SWRT vs HWRT 선택 (하드웨어 기반)
- Far Field 설정 (대규모 월드)
- Radiance Cache 프로브 수 조정
- VSM
- 페이지 풀 크기 모니터링
- WPO Disable Distance 설정
- SMRT 샘플 수 조정
- 공통
- TSR/DLSS/FSR 활용
- Async Compute 활성화
- 플랫폼별 최적화 적용
핵심 요약
- stat + ProfileGPU로 병목 식별
- 시각화 모드로 문제 영역 확인
- 시스템별 stat으로 상세 분석
- 체계적 워크플로우로 최적화 진행
도전 과제
배운 내용을 직접 실습해보세요
프로파일링 워크플로우를 순서대로 실행하세요: (1) stat unit으로 전체 확인, (2) ProfileGPU로 GPU 병목 식별, (3) stat Nanite/stat Lumen/stat ShadowRendering으로 상세 분석. 가장 큰 병목을 찾아 해결하세요.
Nanite(r.Nanite.Visualize.Overdraw = 1), Lumen(r.Lumen.Visualize.Mode = 1~4), VSM(r.Shadow.Virtual.Visualize = 1)의 시각화 모드를 모두 활용하여 씬의 렌더링 문제 영역을 파악하세요.
복잡한 오픈월드 씬에서 최적화 체크리스트를 처음부터 끝까지 적용하세요: Nanite 전환, Lumen 모드 선택, VSM 페이지 풀 조정, TSR/업스케일러 적용, Async Compute 활성화, 플랫폼별 분기 설정. Unreal Insights로 최적화 전후의 프레임 타임라인을 캡처하고 개선률을 정량적으로 문서화하세요.