본문 바로가기
Graphic/Unreal Engine

[Unreal Engine] 언리얼 최적화 공부하기-1

by 여기는 정글 2025. 5. 15.

안녕하세요.

정글러입니다.

https://www.youtube.com/watch?v=hGLIqru5wnI

 

해당 서밋으로 공부/정리했습니다.

 

최적화는 주어진 하드웨어 자원을 최대한 효율적으로 활용하는 것이 중요하다. 

프로파일링을 위해 살펴봐야 할 요소

CPU - AI, 물리, 블루프린트 Tick, 드로우콜

GPU - 그림자, 오버드로, UI, 반투명, 라이팅...

I/O - 영상 재생, 레벨 로딩, 텍스처 로딩 등

 

프로파일링으로 얻은 성능 지표를 잘 활용하여 프로젝트를 세팅해야 한다.

- 목표 Frame rate를 설정하고 CPU와 GPU의 예산 편성이 필요합니다.

- 서버당 수용가능한 동시 접속자수 및 서버 운영비용 체크

- package size, memory 예산 편성 등

 

프로파일링 방법

1. 정확한 프로파일 결과를 얻기 위해 성능에 영향을 주는 변수들을 통제

2. 큰 부분부터 작은 부분으로 범위를 좁히면서

진행하는 것이 좋다.

 

에디터 내 최적화 예시

1. 최적화 뷰모드- 라이팅 복잡도

화면 상 라이트 복잡한 부분을 표시할 수 있다.

무버블로 사용하지 않아도 되는 부분은 스태틱으로 변경

 

2. 최적화 뷰모드- 쿼드 오버드로우

파티클을 최적화 / 화면에 차지하는 비중을 작게 표시되도록 변경

캐릭터의 블루프린트 컴포넌트- 중복된 부분을 확인

 

3. 창- 통계

레벨에서 사용되고 있는 object의 용량과 triangle수 확인

불필요한 폴리곤수 -> 단순화 시키기

 

4. 애셋 액션- 프로퍼티 매트릭스를 통한 대량 편집

패키지에서 큰 비중을 차지하는 텍스처를 필터링하여 리뷰

불필요하게 큰 해상도를 확인하여 프로퍼티 매트릭스를 통한 대량 편집

maximum -512로 제한

 

독립형 게임 실행하여 최적화

병목 지점을 확인하기 - 연산량을 많이 차지하고 있는 곳을 찾아 최적화

1. stat fps

2. stat unit

각 쓰레드별로 몇 ms씩 작동하고 있는지

3. stat GPU

4. stat game

 stat character

 stat phsics

 stat animation 등

5. stat slow

 GameThread

 Render Thread 등

6. showflag

 .skeletalmesh

 .particle 등

하나씩 꺼보면서 프레임이 올라가는지 확인

 

세션 프론트엔드

창-개발자툴-세션 프론트앤드- 프로파일러-데이터캡쳐

 

언리얼 인사이트

- 로딩에 소요되는 시간을 타임라인을 기반으로 분석

- 주요 정보들이 한눈에 파악이 가능하면서도 세부적인 정보까지도 확인이 가능하도록 구현

- 추가 정보를 노출하고 도구를 확장 가능하도록

 

참고)

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/stat-commands-in-unreal-engine