에디터의 성능 최적화
언리얼 엔진 에디터의 성능을 최적화하는 것은 효율적인 게임 개발을 위해 매우 중요합니다.
이 가이드에서는 에디터 성능에 영향을 미치는 주요 요소들을 살펴보고 각 영역별 최적화 전략을 상세히 알아보겠습니다.
주요 성능 영향 요소
- 하드웨어 사양
- 프로젝트 복잡도
- 에디터 설정
- 에셋 관리
- 뷰포트 설정
하드웨어 최적화
- SSD 사용 : 프로젝트와 엔진을 SSD에 설치
- RAM 증설 : 최소 16GB, 권장 32GB 이상
- 그래픽 카드 : VRAM 8GB 이상 권장
- CPU : 멀티코어 프로세서 활용
예시 설정
프로젝트 경로: D:\UnrealProjects\ (SSD)
엔진 설치 경로: C:\Program Files\Epic Games\ (SSD)
프로젝트 복잡도 관리
- 월드 컴포지션 활용
World Settings > Enable World Composition: True
- 레벨 스트리밍 최적화
Level Blueprint > Add Level Streaming Volume
- 액터 인스턴싱 사용
Place Actor > Instanced Static Mesh
에디터 설정 최적화
- 실시간 렌더링 조정
Editor Preferences > Performance > Use Less CPU when in Background: True
- 자동 저장 간격 조정
Editor Preferences > Loading & Saving > Auto Save: Every 10 minutes
- 뷰포트 성능 설정
Editor Preferences > Performance > Viewport Performance Settings:
- Screen Percentage: 100%
- Particle Fuel Detail: Low
에셋 관리 최적화
- 텍스처 스트리밍 활용
Texture Properties > LOD Group: Streaming
- 에셋 디스크 캐시 사용
Editor Preferences > Loading & Saving > Use Asset Disk Cache: True
- 미사용 에셋 정리
File > Empty Trash in Project
뷰포트 성능 향상
- 실시간 렌더링 최적화
Viewport > Show > Advanced > Optimizations > Deferred Rendering: True
- LOD 설정 조정
Static Mesh Editor > LOD Settings > Auto Compute LOD Distances: True
- 라이팅 빌드 최적화
World Settings > Lightmass Settings > Indirect Lighting Quality: 1.0
에셋 로딩 시간 단축
- 에셋 프리로딩
Project Settings > Asset Manager > Primary Asset Types > Add Type
- 패키징 설정 최적화
Project Settings > Packaging > Use Pak File: True
- 에셋 청크 크기 조정
Project Settings > Packaging > Generate Chunks: True
메모리 사용 최적화
- 가비지 컬렉션 설정
Project Settings > Engine > Garbage Collection > Time Between Purges: 60
- 메모리 프로파일링
Window > Developer Tools > Memory Profiler
- 에디터 메모리 제한 설정
Engine\Config\BaseEngine.ini:
[/Script/LevelEditor.LevelEditorPlaySettings]
EditorKillOverhead=3000
대규모 프로젝트 성능 관리
1. 모듈식 레벨 디자인
- 레벨을 작은 섹션으로 분할
- 레벨 스트리밍 적극 활용
2. 에셋 관리 시스템 구축
- 명확한 네이밍 컨벤션 수립
- 에셋 버전 관리 시스템 도입
3. 빌드 파이프라인 최적화
- 증분 빌드 시스템 구축
- 자동화된 빌드 프로세스 도입
협업 환경에서의 성능 최적화
1. 공유 에디터 설정
팀 내 표준화된 .ini 파일 공유 및 적용
2. 버전 관리 시스템 최적화
- Git LFS 사용 (대용량 파일 관리)
- Perforce 사용 (대규모 프로젝트)
3. 네트워크 캐싱
Project Settings > Packaging > Share Material Shader Code: True
성능 모니터링 및 분석 도구
- 언리얼 인사이트
Window > Developer Tools > Session Frontend > Unreal Insights
- 프로파일러
Window > Developer Tools > Session Frontend > CPU Profiler
- 메모리 프로파일러
Window > Developer Tools > Memory Profiler
- 통계 명령어
Viewport > 통계 명령어 입력 (예 : Stat FPS, Stat Unit)
적용 예시 : 오픈 월드 게임 프로젝트
- 레벨 스트리밍 설정
World Composition 활성화
Level Streaming Volumes 사용하여 섹션별 로딩/언로딩
- LOD 시스템 최적화
Static Mesh > LOD Group: 사용자 정의 LOD 그룹 생성
Foliage > Cull Distance: 적절한 값으로 설정
- 라이팅 최적화
Static Lighting Level Scale: 1.0
Light Map Resolution: 전역 설정 대신 개별 메시에 최적화된 값 적용
- 텍스처 스트리밍 설정
Project Settings > Engine > Streaming > Pool Size: 2000
Texture Groups: 용도별 최적화된 그룹 설정
- 프로파일링 및 모니터링
정기적인 성능 체크 일정 수립
팀 내 성능 리포트 공유 시스템 구축
에디터의 성능 최적화는 개발 생산성과 프로젝트 품질에 직접적인 영향을 미칩니다.
최적화된 에디터 환경은 개발자들이 더 빠르게 이터레이션하고, 복잡한 기능을 더 효율적으로 구현할 수 있게 해줍니다.