타이밍 패널(Timing panel) 에는 스레드당 별도의 트랙으로 구성된 CPU/GPU 사용량에 대한 상세 뷰가 표시됩니다. 각 트랙은 처리 중인 스레드를 나타내며 이벤트 타임라인을 표시합니다. 각 이벤트의 폭은 스레드가 해당 이벤트를 처리하는 데 걸린 시간을 나타냅니다.
이벤트 선택하기
타임라인의 트랙에서 이벤트를 선택하면 타이머 및 카운터 패널에서 하이라이트됩니다.
이벤트를 더블클릭하면 해당 이벤트와 해당 인스턴스가 하이라이트됩니다. 나머지 이벤트는 모두 회색으로 변합니다. 해당 이벤트의 인스턴스를 다시 한번 더블클릭하면 나머지 모든 이벤트가 다시 하이라이트됩니다.
타임라인 탐색하기
타임라인 아래에서 아무 곳이나 클릭하여 드래그해 타이밍 패널을 스크롤할 수 있습니다.
타이밍 패널 안에서 아무 곳이나 클릭하고 마우스 스크롤 휠을 사용하여 타임라인을 확대 또는 축소할 수 있습니다. 그러면 표시되는 시간 범위가 확장되거나 줄어듭니다.
시간 범위 선택하기
타이밍 패널의 영역을 하이라이트하려면 패널 상단에서 타임라인 안을 클릭하여 드래그합니다. 이 영역 내의 모든 프로세스는 타이머(Timers) 및 카운터(Counters) 패널에 표시됩니다.
프레임(Frames) 패널을 사용하여 시간 범위를 선택할 수도 있습니다. 프레임 패널 안에서 프레임을 클릭한 다음 Shift를 누른 채 다른 프레임을 클릭하여 두 프레임을 포함하는 모든 영역을 선택합니다.
타이밍 영역 트랙
타이밍 영역(Timing Region) 트랙은 TRACE_BEGIN_REGION 및 TRACE_END_REGION API에서 발생하는 장기 이벤트를 표시합니다. 이 트레이스 데이터는 새로운 영역(Region) 트레이스 채널에 의해 제어되며, 이는 디폴트(Default) 프리셋에 포함되어 있습니다.
메인 그래프
모든 트랙(All Tracks) > 메인 그래프(Main Graph) 를 클릭하여 메인 그래프를 표시합니다. 이 그래프에는 타이머 및 카운터 패널에서 하이라이트한 이벤트와 더불어 해당 이벤트가 사용하는 시간이 다르게 시각화되어 표시됩니다.
메인 그래프를 클릭한 다음 Shift 키를 누른 채 마우스 스크롤 휠을 사용하여 그래프 스케일을 조절합니다. 이렇게 하면 타임라인은 확대 및 축소되지 않습니다. 대신에 세로 축에서 시간 스케일이 변경되어 작은 시간 값이 더 읽기 쉬워집니다.
이벤트 플로팅하기
메인 그래프에서 이벤트를 플로팅하려면 Shift 키를 누른 채 타임라인의 이벤트를 클릭합니다. 그러면 컬러가 지정되어 메인 그래프에 표시될 것입니다. 이벤트 플로팅에 대한 자세한 정보 및 옵션은 아래에 나온 메인 그래프에서 이벤트 플로팅하기 섹션을 참조하세요.
타이밍 필터
타이밍 패널에는 표시 중인 트랙의 범위를 좁히는 데 사용할 수 있는 필터 목록이 있습니다.
모든 트랙
모든 트랙(All Tacks) 드롭다운 화살표를 클릭하면 사용 가능한 모든 트랙 목록이 표시됩니다.
CPU/GPU
CPU/GPU 드롭다운 화살표를 클릭하면 CPU 및 GPU 트랙과 스레드 그룹 옵션이 표시됩니다.
기타
기타(Other) 드롭다운 화살표를 클릭하면 메인 그래프(Main Graph), 파일 활동(File Activity), 에셋 로딩(Asset Loading), 프레임 트랙(Frames Tracks) 의 비저빌리티 옵션이 표시됩니다.
플러그인
플러그인(Plugins) 드롭다운 화살표를 클릭하면 슬레이트(Slate), 게임플레이(Gameplay), 애니메이션(Animation), RDG 트랙(RDG Tracks) 관련 정보 등, 플러그인에 의해 노출되는 트랙 및 옵션이 표시됩니다.
메타데이터 필터를 사용하는 방법
메타데이터 필터를 추가할 때는 필터링하려는 메타데이터와 관련하여 입력할 수 있는 여러 필드가 제공됩니다. 이러한 필드는 다음과 같습니다.
| 인덱스 | 필드 | 설명 |
|---|---|---|
| 1 | 키(Key) | 메타데이터 필드를 포함합니다. 스트링 값이어야 하며, 정확하게 일치해야 합니다. |
| 2 | 데이터 타입(DataType) | 검색할 메타데이터 필드의 타입입니다. 예시: String 또는 Float. |
| 3 | 연산자(Operator) | 메타데이터 값 및 값(Value) 텍스트 박스(아래 참조)의 값에 적용할 연산자입니다. 사용 가능한 연산자는 선택된 데이터 타입(DataType)에 따라 다릅니다. |
| 4 | 값(Value) | 연산자의 두 번째 멤버로 사용할 값입니다. 입력한 값은 선택된 데이터 타입(DataType)과 호환되어야 합니다. |
예를 들면, 타입이 String이고 값에 스트링 'Pawn'을 포함하며 키가 'AssetPath'인 메타데이터 필터를 생성할 수 있습니다.
아래의 두 번째 예시는 메타데이터 필터와 다른 필터 타입의 조합을 보여줍니다. 타입이 Int이고 값이 6500을 초과하며 키가 'SizeInBytes'인 메타데이터 필드가 있는, 이름이 'FRDGBufferPool_CreateBuffer'인 모든 타이머 이름 이벤트를 검색합니다.
특수 스트링 * 를 사용하여 키, 타입, 값과 상관없이 메타데이터가 어태치된 모든 이벤트를 표시할 수 있습니다.
뷰 모드
뷰 모드(View Mode) 드롭다운 화살표는 타이밍 뷰의 다양한 옵션에 대한 컨트롤을 표시합니다.
| 타이밍 뷰 옵션 | 설명 |
|---|---|
| 컴팩트 모드(Compact Mode)(키보드 단축키: C) | 트랙 지원 높이가 줄어든 타이밍 트랙을 표시하는 컴팩트 모드를 토글합니다. |
| 빈 트랙 자동 숨김(Auto Hide Empty Tracks)(키보드 단축키: V) | 타이밍 이벤트가 없는 빈 트랙을 자동으로 숨깁니다. 이 옵션은 UnrealInsightsSettings.ini 파일에서도 지속됩니다. |
| 뎁스 제한(Depth Limit)(키보드 단축키: X) * 무제한/4 레인/단일 레인 | 다양한 CPU 뎁스 옵션 간 디스플레이를 토글합니다. X 키를 단축키로 사용하여 다양한 CPU 뎁스 옵션을 순환할 수 있습니다. |
| 컬러링 모드(Coloring Mode)(CPU 스레드 트랙) | CPU/GPU 타이밍 이벤트에 컬러를 할당할 수 있습니다. 자세한 내용은 아래의 컬러링 모드를 참조하세요. |
| 화면 가장자리 패닝 허용(Allow Panning on Screen Edges) | 활성화하면 마우스 커서가 화면 가장자리에 도달할 때 패닝이 계속됩니다. |
컬러링 모드
CPU 및 GPU 스레드 트랙에서 사용 가능한 컬러링 모드는 다음과 같습니다.
| 모드 | 설명 |
|---|---|
| 타이머 이름 기준(By Timer Name) | 연결된 타이머 이름을 기준으로 CPU/GPU 트랙의 컬러를 지정합니다. |
| 타이머 ID 기준 | 연결된 고유 ID를 기준으로 CPU/GPU 트랙의 컬러를 지정합니다. |
| 소스 파일 기준 | 타이머에 해당하는 파일을 기준으로 CPU/GPU 트랙의 컬러를 지정합니다. 선택된 이벤트에 대한 파일 이름은 타이밍 패널의 오른쪽 하단에 표시됩니다. 경로를 포함한 전체 파일 이름은 타이머 패널의 타이머 툴팁에 표시됩니다. 연결된 파일 이름이 없는 이벤트는 검은색으로 컬러 지정됩니다. |
| 기간 기준(By Duration) | 기간(포함 시간)을 기준으로 CPU/GPU 트랙의 컬러를 지정합니다. 이 모드의 컬러 지정은 다음과 같이 이뤄집니다. |
≥ 10ms: 빨간색. ≥ 1ms: 노란색. ≥ 100μs: 녹색. ≥ 10μs: 청록색. ≥ 1μs: 파란색. < 1μs: 회색. |
컨텍스트 스위치
컨텍스트 스위치는 Windows, XB1/XSX, PS4/PS5 플랫폼에서 지원됩니다.
컨텍스트 스위치(Context Switch) 는 타이밍 패널에서 GPU 및 CPU 스레드를 보기 위한 추가 디스플레이 옵션 및 컨텍스트 메뉴의 새 옵션을 제공합니다. 그러나 이 기능은 기본적으로 활성화되어 있지 않습니다. ContextSwitch 트레이스 채널을 활성화하려면 실행 중인 언리얼 에디터 또는 애플리케이션의 명령줄에 -trace=default,contextswitch 를 추가합니다. 예시:
명령줄
MyGame.exe -trace=default,ContextSwitch -tracehost=1.2.3.4
Windows에서는 사용자 권한 세팅에 따라 명령줄 또는 애플리케이션을 관리자 권한으로 실행해야 ContextSwitch 채널이 활성화됩니다.
이 채널이 활성화된 상태로 트레이스 세션을 녹화한 다음 언리얼 인사이트에서 트레이스 파일을 엽니다. 세션에서 ContextSwitch가 활성화된 경우 다음 정보가 타이밍 인사이트 뷰에 표시됩니다.
자세한 내용은 컨텍스트 스위치 페이지를 참조하세요.
태스크
태스크(Task) 정보를 녹화하고 보려면 언리얼 에디터 또는 애플리케이션을 실행할 때 명령줄에서 -trace 파라미터의 트랙 목록에 task 를 추가합니다. 예시:
D:\EpicGames\UE_5.4\Engine\Binaries\Win64\UnrealEditor.exe -trace=default,task -tracehost=127.0.0.1
태스크 지원이 활성화되면 태스크 이벤트가 타임라인에 표시됩니다. 또한 기타(Other) 드롭다운에 태스크에 대한 새 서브 메뉴가 포함됩니다. 이 서브 메뉴의 옵션은 타이밍 패널에 표시될 태스크 간 관계를 토글하며, 이는 태스크 간 로직의 흐름을 트래킹하는 데 도움이 될 수 있습니다.
자세한 내용은 태스크 그래프 인사이트 페이지를 참조하세요.