슬레이트 인사이트

슬레이트 및 언리얼 모션 그래픽(UMG) 디버깅을 도와주는 언리얼 인사이트 익스텐션인 슬레이트 인사이트에 대해 간략하게 살펴봅니다.

Choose your operating system:

Windows

macOS

Linux

애플리케이션용 유저 인터페이스(UI)를 개발하는 동안 UI 프로그래머는 UI 업데이트를 트리거하는 변경사항의 소스를 찾기 어려울 수 있습니다. 슬레이트 인사이트(Slate Insights) 는 특정 슬레이트(Slate) 및 UMG 업데이트의 근본 원인을 식별하는 툴을 제공하여 개발자가 UI 퍼포먼스를 개선하도록 지원합니다.

클릭하면 슬레이트 인사이트에서 실행 중인 슬레이트 프레임 뷰의 전체 이미지를 볼 수 있습니다.

슬레이트 인사이트 플러그인을 사용하는 동안, 개발자는 슬레이트 프레임 뷰(Slate Frame View) 를 사용하여 프레임당 업데이트되거나 무효화되거나 페인팅되고 있는 위젯 목록 확인할 수 있습니다. 개발자는 슬레이트 인사이트를 사용하여 UI를 디버깅하고 최적화할 수 있습니다.

구성

슬레이트 인사이트 사용하기

에디터에서 슬레이트 인사이트 사용을 시작하려면, 에디터나 *.uproject 파일에서 플러그인을 활성화하면 됩니다. 에디터에서 슬레이트 인사이트 플러그인을 활성화하려면, 에디터(Editor) > 플러그인(Plugins) > 내장 플러그인(Built-In) > Slate Insights 플러그인을 찾습니다.

다른 방법으로는 프로젝트의 *.uproject 파일에서 플러그인을 활성화하면 됩니다.

{
    "FileVersion": 3,
    "EngineAssociation": "{2118FE05-4070-6D80-44FC-17A9E96EAE93}",
    "Category": "",
    "Description": "",
    "Plugins": [
        {
            "Name": "SlateInsights",
            "Enabled": true
        }
    ]
}

소스에서 에디터를 빌드한 경우 필수 플러그인을 활성화한 후에 프로젝트용으로 에디터를 컴파일하고 실행해야 합니다.

필수 플러그인을 활성화한 후 에디터를 재시작합니다. 슬레이트 인사이트 데이터를 추적하는 방법은 다음과 같습니다.

  1. 에디터에서 게임 프로젝트를 열고 에디터 개인설정(Editor Preferences) 을 엽니다.

  2. 레벨 에디터(Level Editor) - 플레이(Play) > 독립형 게임으로 플레이(Play in Standalone Game) 에서 -trace=slate추가 실행 옵션 파라미터(Additional Launch Parameters) 텍스트 박스에 입력합니다.

    언리얼 인사이트 레퍼런스에서 추가 명령줄 옵션을 알아볼 수 있습니다.

  3. 프로젝트의 활성 플레이 모드를 독립형 게임(Standalone Game) 으로 설정합니다.

  4. 언리얼 인사이트가 빌드되지 않은 경우, Engine\Source\Programs\UnrealInsights 에서 언리얼 인사이트 프로젝트를 찾아 애플리케이션을 빌드합니다.

  5. UnrealInsights 애플리케이션을 실행합니다. Engine\Binaries[플랫폼] 에서 애플리케이션을 찾습니다.

  6. 언리얼 인사이트가 실행 중인 상태에서 프로젝트를 실행하여 애플리케이션의 트레이스 데이터를 기록합니다.

    • 트레이스 데이터는 다음 프로젝트 디렉터리에 자동으로 작성됩니다. <YourProject>/Saved/TraceSessions

    • 트레이스 세션은 시간이 지나면서 크기가 커질 수 있으므로 '*.utrace' 파일을 적극적으로 모니터링하고 관리해야 합니다.

  7. 프로젝트의 트레이스 데이터를 기록한 다음 독립형 애플리케이션을 종료합니다.

  8. 언리얼 인사이트에서 분석을 시작하려면, 프로젝트의 트레이스 세션을 선택하고 (1) 열기(Open) 를 클릭합니다 (2).

  9. 슬레이트 프레임 뷰(Slate Frame View) 탭을 열려면, 메뉴(Menu) > 슬레이트 프레임 뷰(Slate Frame View) 를 선택합니다.

    언리얼 인사이트 탐색 및 사용에 대한 일반 정보는 언리얼 인사이트 개요 문서를 참조하세요.

  10. 슬레이트 프레임 뷰 를 사용하여 UI 데이터를 분석합니다.

슬레이트 프레임 뷰

언리얼 인사이트로 애플리케이션의 트레이스 데이터를 캡처한 다음, *.utrace 파일을 열어 슬레이트 프레임 뷰 로 UI 상태 분석을 시작합니다.

언리얼 인사이트에서 실행 중인 슬레이트 프레임 뷰

슬레이트 프레임 뷰에는 인밸리데이션(Invalidation)업데이트(Update) 라는 두 영역이 있습니다. 각 영역에는 자체 트레이스 플래그 컬렉션이 있습니다.

인밸리데이션 트레이스 플래그

인밸리데이션 트레이스 플래그 영역은 위젯 무효화에 대한 하나 이상의 이유(Reason) 와 해당하는 양(Amount) 을 포함한 위젯(Widget) 정보를 보고합니다. 위젯을 펼쳐 무효화 이유를 검토할 때, 슬레이트 프레임 뷰에 다음과 같이 정의된 'LPUCRV' 플래그 목록에서 하나 이상의 플래그가 하이라이트됩니다.

플래그

정의

L

레이아웃 플래그입니다. true면 위젯의 선호 크기가 변경되었다는 뜻입니다.

P

페인트 플래그입니다. true면 위젯을 다시 페인팅해야 하지만, 크기에는 영향이 없다는 뜻입니다.

U

변동성 플래그입니다. true면 위젯 변동성이 변경되었다는 뜻입니다.

C

자손 순서 플래그입니다. true면 자손이 추가되거나 제거되었으며, 레이아웃이 있다는 의미입니다.

R

렌더 트랜스폼 플래그입니다. true면 위젯 렌더 트랜스폼이 변경되었다는 뜻입니다.

V

비저빌리티 플래그입니다. true면 위젯 비저빌리티가 변경되었으며 레이아웃이 있다는 의미입니다.

업데이트 트레이스 플래그

업데이트 트레이스 플래그 영역은 위젯 업데이트에 대한 하나 이상의 이유(Reason) 와 해당하는 양(Amount) 을 포함한 위젯(Widget) 정보를 보고합니다. 위젯을 펼쳐 업데이트 이유를 검토할 때, 슬레이트 프레임 뷰에는 다음과 같이 정의된 'UTPV' 플래그 목록에서 하나 이상의 플래그가 하이라이트됩니다.

플래그

정의

U

틱 플래그입니다. true면 위젯이 업데이트되었다는 뜻입니다.

T

활성 타이머 업데이트 플래그입니다. true면 위젯에 활성 타이머가 있다는 뜻입니다.

P

리페인트 플래그입니다. true면 위젯이 더티하여 리페인팅되었다는 뜻입니다.

V

변동성 플래그입니다. true면 위젯에 변동성이 있었으며 리페인팅되었다는 뜻입니다.