Nanite/Lumen/VSM 최적화
UE5 핵심 렌더링 기술의 성능 튜닝
Nanite 최적화
WPO Distance와 적합성 평가
WPO Disable Distance (매우 중요!)
World Position Offset 거리 설정은 Nanite와 VSM 성능에 큰 영향을 미칩니다.
WPO를 사용하는 폴리지에 반드시 WPO Disable Distance를 설정하세요. 미설정 시 모든 거리에서 WPO가 계산되어 심각한 성능 저하를 유발합니다.
// 스태틱 메시 에디터 > LOD Settings
// 또는 Static Mesh Component 설정
World Position Offset Disable Distance: 5000 // 50m
// WPO 사용 폴리지에 필수 설정!
// 설정 없으면 모든 거리에서 WPO 계산 → 성능 저하
Nanite 적합성 평가
• 고폴리 복잡한 메시
• 정적 지오메트리
• 불투명 머티리얼
• 환경 에셋 (건물, 지형)
• 스켈레탈 메시
• 투명/반투명 머티리얼
• 모바일 플랫폼
• 단순한 메시 (< 1000 tris)
Lumen 성능 튜닝
30% 성능 향상 기법
Stochastic Interpolation (핵심!)
시각적 차이는 거의 인지 불가! 4개의 스크린 프로브 중 하나를 확률적으로 선택합니다.
# 콘솔 또는 DefaultEngine.ini
r.Lumen.ScreenProbeGather.StochasticInterpolation=1
# 4개의 가장 가까운 스크린 프로브 중
# 하나를 확률적으로 선택
# 시각적 차이는 거의 인지 불가!
Software RT vs Hardware RT
Software RT
낮은 비용, 약간의 시각적 불안정. 30fps 모드, 저사양 권장
Hardware RT
높은 품질, 메시 겹침에 민감. 콘솔 기본, UE 5.5+ 60fps 가능
PS5/XSX에서 Hardware RT + Lumen 60fps가 가능해졌습니다. Lumen 목표: 2ms 미만 렌더링 시간.
Virtual Shadow Maps 최적화
Shadow Cache와 프록시 메시
Shadow Cache Invalidation
완전 정적 에셋
캐시 항상 유효
권장
이동 가능
정적일 때 캐시 유지
적당
항상 갱신
비용 높음
주의
Shadow Proxy 사용
// 고폴리 트리 (200-300k tris)의 경우
// 30k tris 프록시 메시로 그림자 캐스팅
// Static Mesh > Shadow Proxy Mesh 설정
// 또는 마지막 LOD에서 Cast Shadow 비활성화
추가 최적화
- LOD에서 Cast Shadow 비활성화 - 마지막 1-2개 LOD
- Contact Shadows - 메인 라이트에만 활성화
- Samples Per Ray 감소 - 기본 8에서 실험적 감소
TSR/DLSS/FSR 활용
업스케일링으로 성능 향상
| 기술 | 요구사항 | 품질 |
|---|---|---|
| TSR | 없음 (범용) | 매우 좋음 |
| DLSS | NVIDIA RTX | 최고 |
| FSR | 없음 (범용) | 좋음 |
# DefaultEngine.ini
[/Script/Engine.RendererSettings]
r.TemporalAA.Upsampling=1
# Screen Percentage 조절로 성능/품질 균형
r.ScreenPercentage=66 # 66% 해상도로 렌더 후 업스케일
핵심 요약
- Nanite WPO Distance: 폴리지에 필수 설정, 성능에 큰 영향
- Lumen Stochastic Interpolation: 30% 성능 향상, 시각적 손실 최소
- VSM Shadow Cache: Static/Rigid로 캐시 무효화 최소화
- Shadow Proxy: 고폴리 트리는 프록시 메시로 그림자
- TSR/DLSS/FSR: 업스케일링으로 GPU 부하 감소
다음 강의에서는 PSO 캐싱 전략으로 셰이더 컴파일 스터터링을 방지하는 방법을 다룹니다.
도전 과제
배운 내용을 직접 실습해보세요
Static Mesh를 Nanite로 변환하고 stat Nanite로 삼각형 수를 모니터링하세요. 100만 폴리곤 메시를 10개 배치한 씬에서 Nanite 활성화/비활성화 시 GPU 시간 차이를 비교합니다.
Lumen Global Illumination의 Final Gather Quality와 Scene Lighting Quality를 조절하세요. Software Ray Tracing vs Hardware Ray Tracing의 품질과 성능 차이를 측정합니다.
Virtual Shadow Maps의 해상도와 페이지 수를 모니터링(r.Shadow.Virtual.ShowStats)하세요. Nanite 메시의 그림자 캐싱 설정을 조정하여 VSM 페이지 Invalidation을 최소화하고, 그림자 렌더링 비용을 30% 이상 감소시킵니다.