최적화란?
퍼포먼스 최적화는 일회성 작업이 아니라 반복적인 과정이다.
가장 느린 병목 지점을 해결하면, 그 다음으로 느린 부분이 병목이 되고, 이를 다시 해결하는 과정을 반복하게 된다.
즉, 끝이 없는 두더지 잡기와 같다.
최적화 전 준비: 테스트 환경 정리
최적화를 시작하기 전에 테스트 환경을 정리하는 것이 매우 중요하다.
불필요한 요소들이 성능 측정에 영향을 줄 수 있기 때문이다.
예를 들어, 언리얼 엔진 에디터의 UI 자체가 성능에 영향을 줄 수 있다.
따라서 최적화 테스트는 다음과 같은 환경에서 진행하는 것이 좋다:
- 패키지된 빌드를 사용하거나
- 최소한 Standalone Mode에서 테스트
1프레임의 기준 시간
일반적인 게임은 60fps를 목표로 한다.
이는 1초(1000ms)를 60프레임으로 나눈 값인 약 16.66ms 안에 게임의 모든 연산이 끝나야 한다는 뜻이다.
- 만약 특정 프레임이 10ms에 끝났다면?
→ 아직 6.66ms의 여유가 있으므로, 추가적인 로직이나 연출이 들어가도 성능상 문제가 없다.
이 기준 시간(16.66ms)은 퍼포먼스 분석의 핵심 기준점이 된다.
Stat Tools 3종 세트
1. Stat Unit
- 병목 지점이 CPU Bound인지 GPU Bound인지 쉽게 확인 가능.
- 명령어: ~ → stat unit
2. Stat FPS
- 프레임 속도를 숫자로 확인 가능.
- 명령어: ~ → stat fps
3. Stat Game
- Game thread, Draw thread 등 상세한 게임 로직 실행 시간 확인 가능.
- 명령어: ~ → stat game
Unreal Insights
- 고급 프로파일링 툴
- 퍼포먼스를 시스템적으로 분석하고 싶을 때 사용
다음 글에서는 현재 진행 중인 프로젝트를 활용해 퍼포먼스를 개선해 나가는 과정을 공유드리겠습니다:)
'TIL > Unreal Engine' 카테고리의 다른 글
언리얼 사운드 시스템 기초 (0) | 2025.06.16 |
---|---|
언리얼 엔진의 입력 모드(FInputMode) (0) | 2025.05.21 |
언리얼 엔진 레벨 전환 시 로딩 방식 (0) | 2025.05.14 |
언리얼 엔진의 맵 로딩 (0) | 2025.05.08 |
AI ROV(Reciprocal Velocity Obstacles) (0) | 2025.04.24 |