Unreal Insights

Unreal Insights でプロジェクトをプロファイリングする

Unreal Insights は、プロジェクトのイベントを高いデータ レートでキャプチャできるテレメトリ キャプチャおよび解析スイートです。Unreal Insights は、最適化が必要なデータの領域を特定します。 Unreal Insights の主なコンポーネントは以下のとおりです。

  • Trace イベントEventName および FieldName パラメータでイベントを定義し、イベントに含める必要のあるフィールドを指定します。

  • Unreal Trace サーバー。アプリケーションからトレースを再作成および保存します。

  • Unreal Insights。データを解析し、視覚化します。

insights-diagram

Unreal Insights フレームワークの主なコンポーネントの図。

トレース セッションは自己記述型で、エンジンのさまざまなリリース バージョンと互換性があります。これらは .utrace ファイルに格納されます。生成された附属データは、トレース ファイルと同じディレクトリにある .ucache ファイルに格納されます。

Unreal Insights を設定する

エディタから起動する

Unreal Editor から Unreal Insights を起動するには、エディタの下部ツールバーにある Trace/Insights Status Bar Widget に移動します。

insights-widget

トレースを実行してプロジェクト データをプロファイルする場合、Unreal Engine のビルドとオペレーティング システムに応じて、複数のワークフロー オプションから選択できます。 これらのワークフロー オプションの詳細については、次のページを参照してください。

-Trace

-Trace のクイック スタート ガイド

Unreal Insights のプレビルドを起動する

Unreal Engine のバイナリ バージョンをインストールした場合、次のディレクトリに Unreal Insights のコンパイル バージョンが格納されています。

    Engine\Binaries[Platform]\UnrealInsights[.exe]     

ソースからビルドする

エンジンのバイナリ バージョンがインストールされていない場合や、Unreal Insights をソースからコンパイルする場合は、次のオプションを使用することができます。

  • Integrated Development Enviroment (IDE) を使用する。「Programs」フォルダにある UnrealInsights ターゲットを見つけます。

  • コマンド プロンプトから実行する。エンジンのインストール フォルダで、Unreal Build Tool を使用して Unreal Insights をビルドします。

Windows の場合:

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

Linux または Mac の場合:

    ./Engine/Build/BatchFiles/RunUBT.sh UnrealInsights [Linux|Mac] Development

Trace (トレース)

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

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

Trace サーバーには次の 2 つのコンポーネントがあります。

  • トレース レコーダー。受信するトレース接続をポート 1981 でリッスンし、ライブ トレース ストリームを記録します。

  • トレース ストア。記録されたトレースをファイルとしてフォルダに格納します。このフォルダで変更がないかを監視し、利用可能なトレースのリストを Unreal Insights の UI に公開します。

トレース フォルダへのパスの例は次のとおりです。

  • Windows: %LOCALAPPDATA%/UnrealEngine/Common/UnrealTrace

  • MacOS: ~/UnrealEngine/UnrealTrace

  • Linux: ~/UnrealEngine/UnrealTrace

デフォルトの「Store」フォルダがここに作成されます。

その他のドキュメントについては、以下のページを参照してください。

-Trace

-Trace のクイック スタート ガイド

-トレーシングのデベロッパー ガイド

Trace サーバーをシャットダウンする

サーバーは「kill」コマンドを使用してシャットダウンすることができます。

> UnrealTraceServer kill

Unreal Trace サーバーを設定する

ダウンロード フォルダや特定のプロジェクトのプロファイリング ディレクトリなど、トレース ファイルをスキャンするディレクトリを追加するように Unreal Trace サーバーを設定することができます。Unreal Insights では、これらの設定を制御して次のことを実行できます。

  • トレース ストア ディレクトリを設定します。この場所に新しいトレースが保存されます。

  • ユーザーの「Download (ダウンロード)」フォルダなど、追加のトレース ディレクトリとトレース ファイルの追加ソースを設定します。

追加の監視フォルダを使用して設定すると、複数のトレースやそれらに対応するオリジナルのトレース ファイルが関連する色で表示されます。

  • Unreal Trace サーバーでは、コンピュータのシャットダウン中や再起動中も永続的に設定を保存することができます。

UE 5.3 では、Unreal Trace サーバーはすべてのデスクトップ プラットフォームで有効になっています。これにより、Linux および Mac 用に Unreal Insights でホストされていたストアが非推奨となります。

次の手順を実行して Unreal Trace サーバーを設定します。

  1. Unreal Insights を開きます。これにより、Unreal Trace サーバーがまだ実行されていない場合は Windows、Mac、または Linux で起動します。

  2. [Manage store settings (ストア設定を管理)] ドロップダウン ボタンをクリックし、次に [Set Trace Store directory (トレース ストア ディレクトリを設定)] ボタンをクリックしてデフォルトのストア ディレクトリを変更します。新しいトレースを開始すると、ファイルがこのディレクトリに格納されます。

  3. 古いトレース ストア ディレクトリが自動的に監視フォルダに追加されます。

  4. [Add directory (ディレクトリを追加)] ボタンをクリックして、1 つ以上の監視フォルダを追加することができます。新しいフォルダにトレース ファイルが含まれている場合、フォルダは固有の色をしたアイコン付きでセッション リストに表示されます。

Unreal Insights セッション ブラウザ

Unreal Insights セッション ブラウザ はトレース データを観察するためのインターフェースです。ブラウザを起動するには、下部ツールバーに移動し、[Trace (トレース)] > [Insights] > [Unreal Insights] ([Session Browser (セッション ブラウザ)]) をクリックします。

Trace Store (トレース ストア)

[Trace Store] は、格納されているすべてのトレース セッションを観察および管理するためのインターフェースです。記録されたトレースはファイルとしてフォルダに格納され、Unreal Insights はこのフォルダでデータの変更がないかを監視し、利用可能なトレースのリストを Unreal Insights UI に公開します。

session-browser

番号

カテゴリ

説明

(1)

Trace Store (トレース ストア) パネル

解析のためにトレース ファイルを開いて、管理します。

(2)

Trace Story Directory (トレース ストア ディレクトリ)

トレース セッションへのディレクトリ パスを表示して、開きます。

(3)

トレース セッション

解析のためにロードできる記録済みのセッションを一覧表示します。これらは [Trace Store Directory] にある .utrace ファイルに対応します。トレース セッションを右クリックすると、名前の変更または削除を行うことができます。または、ショートカット キーを使用することもできます。トレース セッションをクリックして、名前を変更する場合は F2 キーを押し、削除する場合は Del キーを押します。

(4)

セッション フィルター

トレース ファイルを プラットフォームアプリ名構成ターゲット、および ブランチ の各カテゴリでソートします。

(5)

検索バー

コマンド ラインまたは名前で検索をフィルターします。

(6)

[Connection (接続)] タブ

リモート トレース サーバーへの接続をセットアップします。

[Connection] タブ

[Connection] タブでは、実行中のゲームやエディタにトレース サーバーを使用して接続することができます。このタブは、接続設定を変更するための複数のオプションを備えています。

connection-tab

番号

カテゴリ

説明

(6)

[Connection] タブ

リモートで実行されているゲームやエディタとトレース サーバーとの接続を管理します。

(7)

Trace Recorder IP address (トレース レコーダー IP アドレス)

トレース サーバーの IP アドレス。

(8)

Running Instance IP address (実行中のインスタンス IP アドレス)

トレース サーバーに接続してデータのトレースを開始するプロジェクト (実行中のインスタンス) の IP アドレス。

(9)

Initial channels (初期チャンネル)

トレース接続がデータの解析を開始するときに有効にするトレース チャンネルのリストを指定するフィールド。

解析のためにトレースをロードする

解析用にトレースをロードするには、複数のオプションがあります。次のいずれかの方法で実行できます。

  • Unreal Insights ブラウザでいずれかのトレース セッションをダブルクリックします。

  • トレース セッションを選択して、[Open Trace (トレースを開く)] をクリックします。

  • [Open Trace] ドロップダウンの矢印を使用して、他の場所で .utrace ファイルを検索します。

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

trace-drop-down-menu

Live Connect

ライブ トレース セッションがツールに接続されている場合は、それがリストにも表示されます。ライブ セッションのステータス列には「LIVE」と表示され、解析中にリアルタイムで更新されます。それ以外の点では、事前に記録されたセッションと同じです。

live-connect

ツールは複数のセッションに同時に接続することができ、データの受信に伴ってすべてのセッションのデータを自動的に記録します。これらのセッションは、(事前に記録されたセッションと同じ方法で) リストからロードすることでリアルタイムに分析できます。

[Timing Insights] ウィンドウ

[Timing Insights (タイミング インサイト)] ウィンドウではパフォーマンス データを収集します。CPU トラックと GPU トラックのデータが表示されます。これらのトラックには複数のサブメニューがあり、さまざまな処理タスクとプロジェクトがそれらの実行に費やした時間を分類して視覚化するのに役立ちます。

timing-insights-window

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

Timing Insights」を参照してください。

Memory Insights

Memory Insights コンポーネントを使用すると、プロジェクトでのメモリ使用量を調査したり、コール スタックをトレースすることができます。

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

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

Networking Insights

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

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

Slate Insights

Slate Insights は Unreal Insights の機能を拡張し、デベロッパーが UI のパフォーマンスを向上できるようにします。また、特定のスレートおよび UMG の更新の根本原因を特定するためのツールを提供します。

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

Asset Loading Insights

Asset Loading Insights は、プロジェクトのアセットを Unreal Engine にロードするのにかかる時間をプロファイリングする手段を提供します。また、アセット タイプごとのデータ セットを詳細に把握することができます。Asset Loading Insights は、AssetLoadTime トレース チャンネルからトレースされたデータに基づいています。

Cooking Insights

Unreal Cooking Insights を使用すると、プロジェクトでのパッケージのクック方法に関する情報を収集し、表示する機能があります。長時間にわたるクックは、大規模なプロジェクトに取り組んでいるチームの生産性に大きな影響を及ぼすことがあります。各パッケージのクックにかかる時間を表示することで、どのパッケージの最適化に調査を集中させる必要があるかを観察することができます。 詳細については、「Cooking Insights」を参照してください。

参照

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

詳細については、「Unreal Insights のリファレンス」を参照してください。

トピックス

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル