안녕하세요.
정글러입니다.
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
'Graphic > Unreal Engine' 카테고리의 다른 글
[Unreal Engine] 최적화 공부하기-0 (0) | 2025.05.08 |
---|---|
[Blueprint] Level Editor 기능 만들기-1 (0) | 2024.11.19 |
[Cinematic Sequence] 언리얼 엔진으로 시네마틱 영상 제작하기 (1) | 2024.11.14 |
[Unreal Engine] 리얼타임 렌더링 기본 알아보기 (0) | 2024.08.08 |
[Unreal Engine] 쉐이더 공부하기 (0) | 2024.07.25 |