Unreal Insights の概要

Unreal Insights の概要

Choose your operating system:

Windows

macOS

Linux

Unreal Insights は、プロジェクトにおいて最適化が必要な領域を特定します。アプリケーションからのイベントを高いデータレートでキャプチャする機能を提供するテレメトリ キャプチャおよび分析スイートです。

Unreal Insights の主要なコンポーネントは、トレース イベント、アプリケーションからのトレースを記録および保存する Unreal Trace Server、およびデータを分析および視覚化する UnrealInsights で構成されます。

insights-diagram

保存されたトレース セッションは自己記述型で下位互換性です。「.utrace」ファイルに保存されています。生成されたコンパニオン データは、トレース ファイルの横の「.ucache」ファイルに保存されます。

設定

Unreal Insights は、[Tools (ツール)] > [Run Unreal Insights (Unreal Insights を実行)] に移動するか、Engine のソース ビルドをダウンロードして「Engine/Binaries/Win64」ディレクトリ (Unreal Engine とともにシッピングされる Unreal Insights ツールの場所) に移動することで、Unreal Editor から直接実行することができます。デベロッパーが Unreal Engine ソース コードをダウンロードしてローカルでコンパイルする場合は、Unreal Engine ソリューション全体を開発モードまたはシッピング モードでビルドするか、「UnrealInsights」プロジェクトを直接ビルドしてコンパイルできます。

unreal-insights-displayed-in-visual-studio

UnrealInsights.exe」を見つけるかビルドしたら、データの記録やライブ セッションの表示に使用するマシンで実行できます。

プロジェクトを起動する前に Unreal Insights を開始すると、プロジェクトはローカル トレース サーバーに自動的に接続し、デフォルトのトレース チャネルが有効になります。

ツールをリモートで実行している場合は、プロジェクトを次のコマンドライン オプションで起動することでその IP アドレスを提供します (変数「X」の部分を IP アドレスに置き換えます)。

    -tracehost=X
  • この tracehost 引数は、リモート デバイスを Mac または Linux で実行している場合に必須です。

  • プロジェクトの起動時に Unreal Insights セッション ブラウザの実行中のインスタンスが検出されると、ローカルトレースサーバーに自動的に接続されます。

  • 実行中のインスタンスは、トレース サーバーが実行されているマシン (コマンド-tracehost で指定されたアドレス) にアクセスできる必要があります。実行中のインスタンスとトレース サーバーは、同じネットワーク ドメインまたはパブリック IP アドレスに存在する必要があります。

  • ポート 1981 がブロックされていないことを確認することをお勧めします。

  • アプリケーションのパフォーマンスに対するツール自体の影響を最小限に抑えるために、監視するプロジェクトを実行するマシンとは異なるマシン上でツールを実行することをお勧めします (必須ではありません)。

トレース

トレース (Trace) は、実行中のプロセスからインストルメンテーション イベントをトレースするための構造化されたログ フレームワークです。Unreal Trace サーバー は単一のサーバー インスタンスとしてバックグラウンドで実行され、複数のプロジェクトまたはブランチ間で共有することができます。これはユーザー インターフェースを持たない軽量のプログラムであり、パフォーマンスへの影響は最小限に抑えられます。

Engine/Binaries/Win64」ディレクトリ フォルダに保存されているサーバー プロセス実行可能ファイル「UnrealTraceServer.exe」によってトレースが起動します。

insights-directory-displayed-in-file-explorer

トレース サーバーには 2 つの機能があります。

  • Trace Recorder は、ポート 1981 で着信トレース接続をリッスンし、ライブ トレース ストリームを記録します。

  • Trace Store stores は、記録されたトレースをファイルとして「C:/Users/<user>/AppData/Local/UnrealEngine/Common/UnrealTrace/Store/001/」のようなパスに保存します。このフォルダの変更を監視し、使用可能なトレースのリストを Unreal Insights UI に公開します。

詳細については「トレース」ドキュメントを、データのプロファイリングで使用できる追加のコマンドについては「Unreal Insights のリファレンス」を参照してください。

Unreal Insights セッション ブラウザ

Unreal Insights を起動すると Unreal Insight セッション ブラウザ が開きます。このブラウザは [Trace Store (トレース ストア)] パネル (1)、トレース セッション が保存されているディレクトリ (2)、[Connection (接続)] メニュー パネル (3) で構成されています。

connection-menu-window

この [Connection] メニュー (4) には [Trace Recorder IP address (トレース レコーダー IP アドレス)] (5)、Running Instance IP address (実行中インスタンスの IP アドレス)** (6)、接続時に特定のトレースを有効にする Initial channel (7) が 含まれています。

session-browser-view

ツールを起動すると、最初に Unreal Insights のウィンドウが開きます。ウィンドウの上部セクションには、[Trace Sessions (トレースセッション)] というラベルが付いており、解析用にロードできるすべての記録済みセッションのリストが表示されます。これらは Trace Store ディレクトリ にある .utrace ファイルに対応します。これらのトレース セッションのいずれかをダブルクリックするか、トレース セッションを選択して [Open Trace (トレースを開く)] をクリックします。または、[Open Trace] ドロップダウンの矢印を使用して、他の場所で .utrace ファイルを検索することもできます。

それぞれのトレース ファイルの解析をすぐに開始するには、.utrace ファイルをエクスプローラーから Unreal Insights のウィンドウにドラッグアンドドロップします。

ライブ トレース セッションがツールに接続されている場合は、それがリストにも表示されます。ライブ セッションのステータス列には「LIVE」と表示されて解析中にリアルタイムで更新されますが、それ以外の点では、事前に記録されたセッションと同じです。このツールでは複数のセッションを同時に接続することができ、データの受信に伴ってすべてのセッションのデータが自動的に記録されます。これらのセッションは、事前に記録されたセッションと同様に、リストからロードすることでリアルタイムで解析できます。

Timing Insights ウィンドウ

Timing Insights ウィンドウはパフォーマンス データを収集します。CPU トラックと GPU トラックとともに、異なるトラックのフレームごとのパフォーマンス データが表示されます。タイミング ビューツールバー が新たに追加されて、[Tracks (トラック)] ドロップダウン メニューが複数のメニューに分割され、プロジェクトのさまざまなタスクにかかる時間を視覚化して表示できるようになりました。

時間ブロックを選択して集計を表示したり、データをソートまたは分類したり、ログ出力を確認したりすることができます。また、各パネルの表示/非表示を切り替えることができます。

[Timing Insights] ウィンドウは、[Frames (フレーム)] パネル (1)、[Timing (タイミング)] パネル (2)、[Log (ログ)] パネル (3)、[Timers (タイマー)] タブと [Counters (カウンター)] タブ (4)、[Callers (呼び出し元)] パネルと [Callees (呼び出し先)] パネル (5) で構成されています。

詳細は「Timing Insights」を参照してください。

Memory Insights

Memory Insights は、プロジェクトでのメモリ使用量の調査とコール スタックのトレースを可能にする新しいコンポーネントです。

このランタイム コンポーネントでは、ランタイム時に発生するすべての割り当て、再割り当て、または解放イベントのイベントをトレースし、解析時にそのメモリ使用パターンを再構築します。

その設定、トレース、クエリ、データの並び替えなどの方法については、「Memory Insights」のドキュメントを参照してください。v

Networking Insights

Unreal Insights には、ネットワーク トラフィックの解析、最適化、デバッグを行う Networking Insights が含まれています。

詳細については、「Networking Insights」を参照してください。

リファレンス

Unreal Insights と一緒にシッピングされた多くの機能を活用するために、ユーザーはマクロとコマンド オプションでプロジェクト出力をカスタマイズすることができます。

詳細については、「リファレンス」セクションを参照してください。