CPU 작업 트레이스 활성화하기
CPU 작업을 프로파일링하는 방법은 다음과 같습니다.
-
명령줄에서 애플리케이션을 실행할 때, 다음 명령을 사용하여 Task 및 CPU 트레이스 채널을 활성화합니다.
-trace=default,task -
언리얼 인사이트(Unreal Insights) 세션 브라우저(Session Browser) 로 이동하고 트레이스 스토어 디렉터리에서 트레이스를 선택하여 언리얼 인사이트(Unreal Insights)로 .trace 파일을 엽니다. 세션에 작업(Task) 이벤트가 있다면 타이밍 인사이트(Timing Insights) 뷰에서 다음 함수 기능을 사용할 수 있습니다.
a) 타이밍 이벤트(Timing Event) 에 마우스를 가져갔을 때, 현재 이벤트가 작업 안에 있다면 툴팁 에 추가 정보가 표시됩니다.
b) 타이밍 뷰(Timing View) 트랙의 기타(Other) > 작업(Tasks) 으로 이동합니다. 이 메뉴를 사용하여 작업 그래프와 관련된 시각화 결과를 표시할 수 있습니다.
| 작업 서브 메뉴 옵션 | 설명 |
|---|---|
| 작업에 중요한 경로 표시(Show Task Critical Path) | 현재 경로를 포함하는 중요한 작업을 나타내는 관계를 표시하거나 숨깁니다. |
| 작업 전환 표시(Show Task Transitions) | 현재 작업의 스테이지 간 전환을 표시하거나 숨깁니다. |
| 작업 연결 표시(Show Task Connections) | 다음 옵션 사이의 작업 연결을 표시하거나 숨깁니다.
|
| 이전 작업 전환 표시(Show Transitions of Prerequisites) | 이전 작업에 대한 스테이지 전환을 표시하거나 숨깁니다. |
| 다음 작업 전환 표시(Show Transitions of Subsequents) | 다음 작업에 대한 스테이지 전환을 표시하거나 숨깁니다. |
| 부모 작업의 전환 표시(Show Transitions of Parent Tasks) | 현재 작업의 부모 작업에 대한 전환을 표시하거나 숨깁니다 |
| 중첩 작업의 전환 표시(Show Transitions of Nested Tasks) | 현재 작업의 중첩 작업에 대한 스테이지 전환을 표시하거나 숨깁니다. |
| 작업 개요 트랙 표시(Show Task Overview Track) | 작업이 선택되었을 때 작업 개요 트랙을 표시하거나 숨깁니다. |
| 작업 개요 트랙에 자세한 정보 표시(Show Detailed Info on the Task Overview Track) | 작업 개요 트랙에 이전 작업/중첩 작업/후속 작업을 표시합니다. |
c) 타이밍 뷰(Timing View) 패널의 아무 곳에나 우클릭하여 타이밍 뷰 컨텍스트 메뉴 를 엽니다. 이 메뉴는 작업(Task) 그래프의 트랙을 정렬할 수 있는 새로운 옵션을 표시합니다.
| 메뉴 옵션 | 설명 |
|---|---|
| 상단에 고정(Top Docked) | 이 트랙을 상단에 고정합니다. |
| 스크롤 가능(Scrollable) | 이 트랙을 스크롤 가능 트랙 목록으로 이동합니다. |
| 하단에 고정(Bottom Docked) | 이 트랙을 하단에 고정합니다. |
d) 작업(Tasks)으로 이동하여 타이밍 이벤트를 선택했고 이때 선택된 타이밍 이벤트를 포함하는 작업이 있다면 Show Task Dependencies 메뉴 옵션이 드롭다운 메뉴에 표시됩니다.
표시되는 데이터는 다음과 같습니다.
- 타이밍 뷰에 화살표 형태로 관계가 표시되어 작업의 수명과 단계를 보여줍니다. 여기에는 생성(Created) , 실행(Launched) , 예약(Scheduled) , 시작(Started) , 종료(Finished) , 완료(Completed) 시간에 관한 정보가 포함됩니다.
- 관계는 현재 작업과 이전 작업(prerequisite) , 다음 작업(subsequent) , 중첩 작업(nested) 사이에 표시됩니다.
- 상단에 도킹된 트랙이 새로 나타나 작업의 스테이지를 타이밍 이벤트로 보여줍니다.
작업 종속성
이 옵션을 하나 이상 활성화하면, 현재 작업의 이전 작업 , 다음 작업 , 중첩 작업 에 대하여 이전 섹션에 언급한 모든 관계가 표시됩니다.
예를 들어 이전 작업의 완료 시간(Completed Time) 에서 현재 작업의 예약 시간(Scheduled Time) 까지의 단일 관계만 표시되지 않고, 활성화된 각 이전 작업의 생성(Created) , 실행(Launched) , 예약(Scheduled) , 시작(Started) , 종료(Finished) , 완료(Completed) 를 나타내는 관계가 모두 표시됩니다.
데이터를 분석할 때는 관계의 수가 급격히 많아질 수 있기 때문에 옵션을 하나씩 활성화할 것을 추천합니다.
-
Critical Path 옵션을 활성화하면 현재 작업의 중요한 경로를 나타내는 관계들이 표시됩니다. 중요한 경로는 현재 작업의 그래프에서 실행 시간이 가장 긴 실행 체인으로 정의됩니다. 각 컴포넌트 작업의 실행 시간은 컴포넌트의 종료 시간(FinishedTime)과 시작 시간(StartTime)의 차(FinishedTime - StartTime)로 정의됩니다.
이 기능은 새로운 엔진 기능이므로 향후 최적화 과정에서 공식이 변경될 수 있습니다.
-
트레이스에 작업 데이터가 있으면 작업(Tasks) 하위 탭 이 표시됩니다. 이 탭을 채우려면 타이밍 뷰에서 간격을 선택합니다. 탭은 선택된 간격의 모든 작업을 표시하도록 업데이트됩니다. 탭은 포함된 타임 스탬프 옵션(생성, 실행, 예약, 시작, 종료, 완료 타임 스탬프)을 모두 표시합니다. 이 타임 스탬프들은 이전에 상대적(Relative to Previous) 으로 표시되는 것이 디폴트입니다. 이전 스테이지를 기준으로 한다는 뜻입니다. 예를 들어 예약 시간은 실행 시간을 기준으로 표시됩니다. 테이블에서 작업을 더블클릭하면 타이밍 뷰에서 타이밍 이벤트를 선택하여 선택되었을 때와 동일하게 관계들이 표시됩니다.
