Profiling 이란?

프로파일링은 게임을 최적화하기 위해서 게임이 진행되는동안 렌더링이나 플레이에 지장을 줄만한 요소들을 모니터링하고 검출하는 방법이다.

언리얼 엔진에서는 세션 프론트엔드에서 거의 대부분의 문제점을 확인할 수 있는데, 세션 프론트엔드의 프로파일링 탭을 켜보겠다.

세션 프론트엔드를 실행하면 다음과 같은 창이 뜬다.

왼쪽 위에 애플리케이셔을 보면 현재 켜져있는 모든 머신과 세션들을 볼 수 있다.

프로파일링을 할 세션을 선택한다. (저 왼쪽 위에 하나 있는 것 선택)

그리고 프로파일링 데이터를 얻기 위해 툴바에 있는 세가지의 옵션을 모두 켠다. (데이터, 라이브 프리뷰, 데이터 캡처) 그럼 상단에 그래프가 실행된다.

이제 게임에 일부러 부하를 줘서 변화를 관찰해보겠다.

다량의 오브젝트를 만들어 부하를 일으켰다. 부하를 일으킴과 동시에 그래프 뷰에 부하가 걸리는 것을 확인할 수 있다.

어느정도 데이터를 수집햇으면, 활성화된 데이터 캡처 버튼을 눌러 비활성화 시킨 뒤, 캡처된 데이터를 다음의 창이 뜨면 저장한 다음에 로드해 분석하면 된다.

로드된 곳에서는 프레임단위로 캡처된 데이터들에서 어떤 스레드, 어떤 이벤트에서 부하가 가장 심했는지 볼 수 있다.

추가적으로, FPS 차트를 누르면 세션이 진행되는동안 FPS의 변화량을 확인할 수 있다.

이외에도 여러 퍼포먼스 프로파일링 기법이 있다.

더 자세한 것은 공식 문서에서 확인하면 된다.

https://api.unrealengine.com/KOR/Engine/Performance/index.html