환경 설정의 성능 영향 분석
에셋과 레벨 구조를 정리했다면, 다음 병목은 전역 환경 설정에서 자주 발생합니다.
포스트 프로세싱, 그림자, 안개, 반사 같은 환경 설정(Environmental Settings)은 화면 품질을 크게 좌우하지만, 동시에 렌더링 비용도 크게 바꿉니다. 같은 맵이라도 어떤 옵션을 켜고 끄는지에 따라 프레임 안정성이 완전히 달라질 수 있습니다.
이번 절에서는 품질과 성능 사이의 균형점을 찾는 기준을 정리합니다. 목표 하드웨어에서 안정적인 프레임을 유지하면서도 의도한 연출을 지키는 설정 방식까지 함께 다룹니다.
환경 설정이 성능에 미치는 영향 이해
언리얼 엔진의 환경 설정들은 주로 GPU 렌더링 파이프라인의 후반부에 영향을 미치며, 전반적인 시각적 품질과 성능의 트레이드오프(Trade-off) 관계에 있습니다.
- 높은 품질 = 높은 성능 비용: 대부분의 환경 설정은 품질을 높일수록 GPU 연산량이 기하급수적으로 증가합니다.
- 플랫폼별 목표 설정: PC, 콘솔, 모바일 등 각 플랫폼의 하드웨어 성능을 고려하여 적절한 품질 설정을 목표로 해야 합니다.
- 시각적 중요도 판단: 어떤 환경 효과가 게임의 핵심적인 미학을 위해 필수적이고, 어떤 효과는 성능을 위해 희생할 수 있는지 판단해야 합니다.
주요 환경 설정과 성능 영향 분석
언리얼 엔진에서 주로 Post Process Volume, Directional Light, Sky Light, Exponential Height Fog 등의 액터를 통해 조정되는 주요 환경 설정들을 살펴봅니다.
포스트 프로세싱 (Post Processing) 최적화
- 역할: 화면에 최종적으로 렌더링된 이미지에 다양한 시각 효과를 적용하는 단계입니다. (블룸, 앰비언트 오클루전, 스크린 스페이스 리플렉션 등)
- 성능 영향: GPU 바운드에 가장 큰 영향을 미 미치는 요소 중 하나입니다. 각 효과는 픽셀 셰이더 연산을 통해 구현되므로, 효과가 많고 복잡할수록 GPU 부하가 급증합니다.
- 분석 도구:
ProfileGPU명령어를 사용하여PostProcess항목의 상세 비용을 확인합니다. -
최적화 전략
- 불필요한 효과 비활성화: 사용하지 않거나 눈에 띄지 않는 포스트 프로세싱 효과는 과감히 비활성화합니다.
- 품질 설정 조정: 각 효과의 강도(
Intensity), 품질(Quality), 해상도(Resolution) 등을 낮게 설정합니다. (예:Ambient Occlusion의Intensity,Radius,Power조절;Screen Space Reflections의Intensity및Max Roughness조절) - 블룸(Bloom):
Intensity와Threshold를 조절하여 발광 효과의 강도를 줄입니다. - 피사계 심도(Depth of Field):
Diaphragm Blade Count,Focal Distance등을 조절하여 품질과 성능을 맞춥니다. 동적인 DoF는 비용이 큽니다. - 렌즈 플레어(Lens Flare): 필요 없으면 비활성화합니다.
그림자 (Shadows)
- 역할: 오브젝트에 사실적인 그림자를 드리워 공간감과 깊이감을 더합니다.
- 성능 영향: 광원 계산과 함께 GPU 부하의 주요 원인입니다. 특히
Movable광원의 동적 그림자는 실시간으로 섀도우 맵을 렌더링해야 하므로 매우 비쌉니다. - 분석 도구:
Stat SceneRendering에서ShadowDepths항목을 확인하고,ProfileGPU에서ShadowDepths섹션의 상세 비용을 분석합니다. -
최적화 전략
- 모빌리티 설정: 가능한
Static또는Stationary광원을 사용하여 그림자를 라이트맵에 굽습니다.Movable광원은 최소화합니다. - 그림자 해상도:
Directional Light등의 광원 설정에서Shadow Resolution Scale을 낮게 설정합니다. (다소 거칠어지지만 성능 크게 향상) - 그림자 거리:
Dynamic Shadow Distance Movable Light(Movable 광원) 또는Dynamic Shadow Distance Stationary Light(Stationary 광원)를 필요한 만큼만 설정하여 먼 거리의 그림자는 더 이상 렌더링되지 않도록 합니다. - 그림자 캐스케이드:
Num Dynamic Shadow Cascades를 줄여 섀도우 맵 렌더링 횟수를 줄입니다. (보통 2~3개면 충분) Shadow Quality설정:Project Settings > Rendering > Shadow에서 전역적인 그림자 품질을 조정합니다.
- 모빌리티 설정: 가능한
광원 (Lights)
- 역할: 레벨에 빛을 부여하고 분위기를 조성합니다.
- 성능 영향: 동적 광원(
Movable)의 수와 광원당 영향을 미치는 범위(Attenuation Radius)가 넓을수록 GPU 부하가 커집니다. 각 픽셀에 영향을 미치는 광원 수가 많아질수록 비용이 증가합니다. - 분석 도구:
Light Complexity뷰 모드를 사용하여 각 픽셀에 영향을 미치는 광원 수를 시각적으로 확인합니다.Stat SceneRendering에서Lights항목을 확인하고,ProfileGPU에서Lights섹션의 상세 비용을 분석합니다. -
최적화 전략
- 모빌리티 설정: 9장 2절에서 다룬 것처럼,
Static또는Stationary광원을 최대한 활용합니다. - 광원 수 제한: 동적 광원의 수를 최소화합니다.
- 감쇠 반경 (Attenuation Radius): 광원의
Attenuation Radius를 필요한 범위만큼만 작게 설정하여 불필요하게 넓은 영역에 영향을 미치지 않도록 합니다. - 빛 투과 비용:
Light Function이나IES Profile과 같은 복잡한 빛 투과 효과는 연산 비용이 있으므로 신중하게 사용합니다.
- 모빌리티 설정: 9장 2절에서 다룬 것처럼,
안개 (Fog) 운용 체크
- 역할: 공간감, 깊이감, 그리고 분위기를 조성합니다.
- 성능 영향:
Exponential Height Fog는 기본적으로 비교적 효율적이지만,Volumetric Fog(체적 안개)는 GPU 부하가 매우 큽니다. - 분석 도구:
ProfileGPU에서Volumetric Fog또는Exponential Height Fog관련 비용을 확인합니다. -
최적화 전략
Exponential Height Fog사용: 대부분의 경우 이 액터로 충분하며, 성능 효율적입니다.-
Volumetric Fog사용 제한- 반드시 필요한 경우에만 활성화하고,
Scattering Distribution,Extinction Scale등의 품질 설정을 낮춥니다. Volumetric Fog Sample Count와View Distance를 줄여 해상도와 거리를 제한합니다.
- 반드시 필요한 경우에만 활성화하고,
반사 (Reflections)
- 역할: 표면에 주변 환경이 반사되는 효과를 구현하여 현실감을 높입니다.
- 성능 영향:
Screen Space Reflections (SSR)은 GPU 비용이 크고,Reflection Capture Actors(리플렉션 캡처 액터)는 라이트맵과 비슷하게 빌드 시간이 필요하지만 런타임 비용은 적습니다. - 분석 도구:
ProfileGPU에서SSR또는Reflection Capture관련 비용을 확인합니다. -
최적화 전략
Reflection Capture Actors사용: 정적인 환경의 반사에는Box Reflection Capture또는Sphere Reflection Capture를 사용하여 미리 반사 정보를 캡처합니다.Screen Space Reflections설정:Post Process Volume에서Screen Space Reflections의Intensity를 낮추거나,Max Roughness값을 높여 거친 표면에서는 SSR이 발생하지 않도록 합니다.SSR Quality도 조정합니다.Planar Reflections사용 제한: 매우 정확한 반사(물 표면)에 사용되지만, 두 번 렌더링되므로 매우 비쌉니다. 극도로 제한적으로 사용하거나 비활성화합니다.
전반적인 환경 설정 최적화 전략
- 프로젝트 세팅 (Project Settings):
편집(Edit) > 프로젝트 세팅(Project Settings)에서Engine > Rendering,Engine > Physics,Engine > Input등 전역 설정을 조정해 게임 전체 품질과 성능을 제어할 수 있습니다. (예:Frame Rate,View Distance Scale,Anti-Aliasing Method,Motion Blur) - 퀄리티 스케일러블리티 (Scalability): 언리얼 엔진은
Scalability Settings (확장성 설정)을 통해 Low/Medium/High/Epic/Cinematic 등 미리 정의된 품질 프리셋을 제공합니다. 이는콘솔 명령어(sg.ResolutionQuality,sg.ViewDistanceQuality등)를 통해 조절할 수 있습니다.- 활용: 플레이어가 게임 내 옵션 메뉴에서 그래픽 품질을 조절할 수 있도록 이러한 확장성 설정을 활용합니다.
- 지속적인 프로파일링: 개발 과정 내내
Stat명령어와ProfileGPU를 사용하여 성능을 모니터링하고, 변경 사항이 성능에 어떤 영향을 미치는지 항상 확인합니다.
프로젝트 규모별 Nanite/Lumen/World Partition 선택 가이드
| 프로젝트 맥락 | Nanite | Lumen | World Partition |
|---|---|---|---|
| 소규모 실내/모바일 중심 | 제한적 사용 또는 비활성 | SSR/정적 라이팅 우선 검토 | 보통 불필요 |
| 중규모 PC/콘솔 | 핵심 오브젝트에 선택 적용 | 주요 씬에 우선 적용 후 비용 측정 | 오픈월드가 아니면 선택 |
| 대규모 오픈월드 | 적극 활용 (LOD 제작 부담 감소) | 품질/성능 타협점 세팅 필수 | 사실상 기본 선택지 |
- 목표 플랫폼의 최소 사양을 먼저 확정합니다.
Lumen을 켠 상태/끈 상태의 GPU 프레임 비용을 비교합니다.- 폴리곤 밀도가 높은 환경에서
Nanite적용 전후 메모리/프레임을 비교합니다. - 맵 규모가 크고 협업 인원이 많다면
World Partition도입 여부를 먼저 결정합니다. - 최종적으로 그래픽 품질보다 프레임 안정성(하위 1% 프레임)을 우선합니다.
운영 검토 포인트
환경 옵션은 기능을 많이 켠다보다 타깃 하드웨어에서 프레임 안정성을 확보한다는 기준으로 선택해야 합니다.
특히 Lumen, Nanite, World Partition은 프로젝트 규모와 팀 파이프라인에 맞춰 선택적으로 적용하고, ProfileGPU 측정값으로 최종 결정을 내리는 편이 안전합니다. 품질 옵션을 낮췄을 때도 플레이 가독성과 연출 의도가 유지되는지 확인한 뒤, 최종 설정을 기술 문서에 고정하면 운영 단계의 설정 드리프트를 줄일 수 있습니다.
환경 설정 최적화의 핵심은 시각 품질과 성능 사이의 균형점을 찾는 것입니다.
포스트 프로세싱, 그림자, 광원, 안개, 반사 옵션이 프레임에 주는 영향을 수치로 확인하고, 분석 도구 기반으로 조정해 보세요. 지속적인 측정과 재조정을 통해 다양한 하드웨어에서 안정적인 체감 품질을 확보할 수 있습니다.