언리얼 인사이트 개요

언리얼 인사이트 개요.

Choose your operating system:

Windows

macOS

Linux

언리얼 인사이트(Unreal Insights) 는 프로젝트에서 최적화가 필요한 영역을 식별하며, 애플리케이션의 이벤트를 높은 데이터 속도로 캡처할 수 있는 원격 측정 캡처이자 분석 툴세트입니다.

언리얼 인사이트의 주요 컴포넌트에는 트레이스(Trace) 이벤트, 애플리케이션의 트레이스를 기록하고 저장하는 언리얼 트레이스 서버(Unreal Trace Server), 데이터를 분석하고 시각화하는 언리얼 인사이트(Unreal Insights)가 있습니다.

insights-diagram

저장된 트레이스 세션은 자체 설명이 있으며 하위 버전과 호환됩니다. 세션은 .utrace 파일에 저장됩니다. 생성된 컴패니언 데이터는 트레이스 파일과 같은 위치의 .ucache 파일에 저장됩니다.

언리얼 인사이트 구성

언리얼 인사이트(Unreal Insights) 를 구축할 때는 여러 옵션을 사용할 수 있습니다.

옵션 1: 탐색기에서 언리얼 인사이트 실행

Engine\Binaries\Win64\UnrealInsights.exe 로 이동하여 사전에 생성된 언리얼 인사이트 사본이 있는지 확인합니다.

unreal-insights-executable-in-binaries-folder

옵션 2: Visual Studio에서 빌드구축

솔루션 탐색기(Solution Explorer) 에 위치한 프로그램(Program) 의 디렉터리에서 언리얼 인사이트를 구축할 수 있습니다.

build-from-visual-studio

옵션 3: 명령 프롬프트(Command Prompt)에서 구성

시작(Start) > 명령 프롬프트(Command Prompt) 로 이동한 다음 명령 디렉터리에서 언리얼 인사이트를 빌드합니다.

    cd C:\MyEngineInstallLocation\

    Engine\Build\BatchFiles\RunUBT.bat UnrealInsights Win64 Development

옵션 4: 에디터에서 구성

툴(Tools) > UNREAL INSIGHTS > 언리얼 인사이트 실행(Run Unreal Insights) 으로 이동하여 언리얼 에디터 에서 언리얼 인사이트를 시작합니다. 인사이트는 자동으로 컴파일을 시도합니다.

트레이스를 실행하여 프로젝트 데이터를 프로파일링할 때 언리얼 엔진 빌드와 운영 체제에 따라 다양한 워크플로 옵션을 사용할 수 있습니다. 자세한 정보는 트레이스트레이스 퀵스타트 가이드 문서를 참고하세요.

트레이스

트레이스(Trace) 는 실행 중인 프로세스에서 인스트루먼테이션 이벤트를 트레이스하는 체계적인 로깅 프레임워크입니다.

언리얼 트레이스 서버(Unreal Trace Server) 는 백그라운드에서 단일 서버 인스턴스로 실행되며, 여러 프로젝트 또는 브랜치 간에 공유할 수 있습니다. 퍼포먼스 영향을 최소화한 가벼운 프로그램으로, 유저 인터페이스는 포함되어 있지 않습니다. 언리얼 트레이스 서버는 Engine/Binaries/Win64 디렉터리 폴더에 있는 별도의 서버 프로세스 실행 파일 UnrealTraceServer.exe 로 실행됩니다.

insights-directory-displayed-in-file-explorer

트레이스 서버에는 다음 두 가지 함수 기능이 있습니다.

  • 트레이스 레코더(Trace Recorder) 는 포트 1981에서 유입되는 트레이스 연결을 수신하고 라이브 트레이스 스트림을 기록합니다.

  • 트레이스 스토어(Trace Store) 는 기록된 트레이스를 파일 형태로 경로에 저장합니다. 경로의 형태는 C:/Users/<user>/AppData/Local/UnrealEngine/Common/UnrealTrace/Store/001/ 과 같습니다. 이 폴더를 감시해 변경 사항이 있는지 확인하며, 사용 가능한 트레이스 목록을 언리얼 인사이트(Unreal Insights) UI에 노출합니다.

자세한 정보는 트레이스 문서, 트레이스 퀵스타트 가이드, 트레이스 개발자 가이드 문서를 참고하세요.

언리얼 인사이트 세션 브라우저

언리얼 인사이트(Unreal Insights)를 시작하면 언리얼 인사이트 세션 브라우저(Unreal Insight Session Browser) 가 열립니다. 여기에는 트레이스 스토어(Trace Store) 패널(1), 트레이스 세션(Trace Sessions) 이 포함된 디렉터리(2), 연결(Connection) 메뉴 패널(3)이 표시됩니다.

connection-menu-window

연결 메뉴(4)에는 트레이스 레코더 IP 주소(Trace Recorder IP address)(5), 실행 중인 인스턴스 IP 주소(Running Instance IP address)(6), 연결되었을 때 특정 트레이스를 활성화하는 초기 채널(Initial channels)(7)이 있습니다.

session-browser-view

툴이 시작되면 언리얼 인사이트(Unreal Insights) 창이 먼저 열립니다. 트레이스 세션 이라는 라벨이 붙은 창 상단 섹션에는 이전에 기록된 모든 세션 목록을 분석을 위해 로드할 수 있습니다. 이는 트레이스 스토어 디렉터리(Trace Store Directory).utrace 파일에 해당합니다. 트레이스 세션 중 무엇이든 더블클릭하거나, 트레이스 세션을 선택한 다음 트레이스 열기(Open Trace) 를 클릭하면 됩니다. 또는 트레이스 열기 의 드롭다운 화살표를 사용하여 다른 위치에 있는 .utrace 파일을 검색할 수도 있습니다.

해당하는 트레이스 파일을 즉시 분석하기 시작하려면, .utrace 파일을 탐색기에서 언리얼 인사이트(Unreal Insights) 창으로 드래그 앤 드롭하세요.

라이브 트레이스 세션이 툴에 연결되면 목록에도 표시됩니다. 라이브 세션은 상태 열에 라이브(LIVE) 라는 단어가 표시되며, 분석하는 동안에는 실시간으로 업데이트되지만 이외의 경우에는 사전에 기록된 세션과 일치합니다. 툴은 동시에 여러 세션을 연결할 수 있으며, 데이터가 스트리밍될 때 모든 세션에 대한 데이터를 자동으로 기록합니다. 목록에서 세션을 로드하면 사전에 기록된 세션과 같이 실시간으로 분석할 수 있습니다.

타이밍 인사이트 창

타이밍 인사이트(Timing Insights) 창에서는 퍼포먼스 데이터를 수집합니다. CPUGPU 트랙을 비롯한 여러 트랙에서 프레임별 퍼포먼스 데이터를 볼 수 있습니다. 타이밍 뷰(Timing View)툴바 가 새로 추가되며 트랙(Tracks) 드롭다운 메뉴가 여러 메뉴로 분할되었고, 여기에는 프로젝트의 여러 작업에 소요되는 시간이 다양하게 시각화되어 나타납니다.

보고자 하는 시간 블록을 선택하여 데이터를 집계, 정렬, 분류하고 로그 출력을 검토할 수 있습니다. 각 패널은 표시하거나 숨길 수 있습니다.

  • 타이밍 인사이트(Timing Insights) 창에는 프레임(Frames) 패널(1), 타이밍(Timing) 패널(2), 로그(Log) 패널(3), 타이머(Timers) 및 카운터(Counters) 탭(4), 호출자(Callers) 및 피호출자(Callees) 패널(5)이 있습니다.

자세한 정보는 타이밍 인사이트(Timing Insights) 문서를 참고하세요.

메모리 인사이트

메모리 인사이트(Memory Insights) 는 프로젝트의 메모리 사용 및 콜 스택 트레이싱을 조사할 수 있게 해 주는 새로운 컴포넌트입니다.

런타임 컴포넌트는 런타임에 발생하는 모든 할당, 재할당, 해제 이벤트마다 이벤트를 트레이스한 뒤, 분석 과정에서 해당 메모리 사용 패턴을 재구성합니다.

데이터를 설정, 트레이스, 쿼리, 정렬하는 방법에 대한 지침은 메모리 인사이트(Memory Insights)를 참고하세요.

네트워킹 인사이트

언리얼 인사이트에는 네트워크 트래픽을 분석, 최적화, 디버깅하는 네트워킹 인사이트(Networking Insights) 가 포함되어 있습니다.

자세한 정보는 네트워킹 인사이트(Networking Insights) 문서를 참고하세요.

레퍼런스

매크로와 명령줄 옵션으로 프로젝트의 출력을 커스터마이징하면 언리얼 인사이트(Unreal Insights) 와 함께 제공되는 다양한 기능을 최대한 활용할 수 있습니다.

자세한 정보는 레퍼런스(Reference) 페이지를 참고하세요.

슬레이트 인사이트

슬레이트 인사이트(Slate Insights) 는 언리얼 인사이트를 확장하여 특정 슬레이트와 UMG 업데이트의 근본 원인을 식별하는 툴을 제공함으로써 개발자가 UI의 퍼포먼스를 개선할 수 있도록 지원합니다.

자세한 정보는 슬레이트 인사이트(Slate Insights) 페이지를 참고하세요.