トレースをキャプチャしてダウンロードする方法(Unreal Engine、Windows)
注釈:本資料はAI技術を用いて翻訳されています。
目的
Trace Captureを有効にした状態でゲームセッションを実行し、必要に応じてセッション中の対象を絞ったスナップショットをトリガーして、生成された.utraceファイルをADT Webからダウンロードし、Unreal Insightsで開きます。
前提条件
- 起動元のチャネルまたはトラックでTrace Captureが有効になっていること。有効になっていない場合は、先にADT HubでTrace Captureを有効にする方法を完了してください。
- 起動するビルドが
UE_TRACE_ENABLEDフラグ付きでコンパイルされていること。このフラグがないビルドでは、セッションや設定に関わらず.utraceファイルは生成されません。 - Unreal Engine 5.3以降を使用していること。
- 最終的な解析ステップのために、マシンにUnreal Insightsがインストールされていること。
手順
ステップ1:ADT Hubからセッションを起動する
ADT Hubで**Distribution > [チャネル名] > [トラック名]**に移動し、通常どおりゲームを起動します。
Trace Captureを有効にした状態でADT経由で起動すると、ADTがトレース起動引数を自動的に挿入します。-trace=フラグを手動で追加する必要はありません。ゲームは、エンジンが初期化されるとすぐに記録を開始します。
オートキャプチャが実行中であることを示すゲーム内の表示はありません。これは想定された動作です。
ステップ2:セッションをプレイする
通常どおりセッションを実行します。オートキャプチャトレースは、セッションが終了するまで継続的に記録されます。
特定のパフォーマンス上の問題(フレームレートの低下、ヒッチ、スパイクなど)を確認し、その瞬間に焦点を当てたトレースをキャプチャしたい場合は、次のステップを参照してください。それ以外の場合は、ステップ4に進んでください。
ステップ3:(オプション)セッション中のスナップショットまたは記録をキャプチャする
オートキャプチャが現在実行されているかどうかに応じて、適切な方法を選択します。
オートキャプチャがONの場合(チャネルまたはトラックの設定でTrace Captureが有効な場合のデフォルト):
Trace.SnapshotFileを使用して、オートキャプチャを停止せずに、現在メモリ上にあるトレースバッファを別のファイルとしてキャプチャします。
- **
~**キーを押して、Unreal Engineのゲーム内コンソールを開きます。 Saved/Profiling/内のファイルパスを使用して、以下のコマンドを実行します。
Trace.SnapshotFile Saved/Profiling/snapshot.utrace
このスナップショットは、その時点でトレースバッファ内にある内容をキャプチャし、別の.utraceファイルに書き込みます。オートキャプチャトレースは中断されず、継続して実行されます。
ADTはスナップショットファイルを自動的に取得し、セッション詳細ページ上の別のエントリとしてアップロードします。
オートキャプチャが既に実行されている間は、Trace.Startを使用しないでください。Trace.Stopはグローバルなコマンドであり、オートキャプチャトレースを含む、実行中のすべてのトレースチャネルを停止します。オートキャプチャセッション中にTrace.Startを実行してからTrace.Stopを実行すると、その時点でオートキャプチャトレース全体が停止し、セッションの残りの部分は記録されません。
オートキャプチャが有効な場合、セッション中のキャプチャにはTrace.SnapshotFileを使用してください。
オートキャプチャがOFFの場合:
Trace.StartとTrace.Stopを使用して、対象を絞った時間帯を記録します。
ゲーム内コンソールから明示的なチャネル引数を指定せずにTrace.Startを実行すると、その時点でUnreal Engineのトレースシステムで有効になっているチャネルが使用されます — これは、ADT Hubで設定されているチャネルセットと一致しない場合があります。ADTで設定されているチャネルに合わせるには、それらを明示的に指定してください。
Trace.Start cpu gpu frame bookmark
- **
~**キーを押して、Unreal Engineのゲーム内コンソールを開きます。 - 以下を実行します。
Trace.Start
- キャプチャしたい瞬間までプレイします。
- 完了したら、以下を実行します。
Trace.Stop
ADTは生成された.utraceファイルを自動的に取得し、セッション中のエントリとしてアップロードします。
ステップ4:セッションを終了する
通常どおりゲームを終了します。ADT HubはSaved/Profiling/内の.utraceファイルを検出し、バックグラウンドでアップロードを開始します。
接続が遅い場合、アップロードはゲームが終了した後も継続します。ADT Hubを開いたままにしておく必要はありません。
ステップ5:ADT Webでトレースを見つける
- ADT Webで、**Versions > [対象のバージョン] > [対象のビルド]**に移動します。
- Sessionsを開き、実行したセッションのセッションIDをクリックします。
- Tracesタブを選択します。
Tracesタブには、このセッションのすべてのトレースエントリが一覧表示されます。各エントリには以下が表示されます。
| 列 | 表示される内容 |
|---|---|
| Type | AutoまたはMid-session |
| Time | キャプチャのタイムスタンプ |
| Duration | 記録された期間の長さ |
| Channels | キャプチャ中に有効だった記録チャネル |
| Platform | トレースがキャプチャされたプラットフォーム |
| Size | ファイルサイズ |
各エントリの下に、有効期限と残り日数が表示されます。期限切れになる前にトレースをダウンロードしてください — デフォルトの保持期間はキャプチャから3日間です。
エントリが「Uploading...」と表示されている場合、ファイルはまだ転送中です。数分後にページを更新してください。
Tracesタブに「No trace captured for this session」と表示される場合は、下記のトラブルシューティングセクションを参照してください。
ステップ6:トレースをダウンロードする
解析したいトレースエントリの横にあるDownloadボタンをクリックします。
.utraceファイルがマシンにダウンロードされます。
ステップ7:Unreal Insightsで開く
ダウンロードした.utraceファイルを、マシン上のUnreal Insightsで開きます。
Unreal Insightsがまだ開いていない場合、Unreal Insightsがデフォルトハンドラーとして登録されていれば、Windowsエクスプローラーでファイルをダブルクリックすると直接開きます。あるいは、Unreal Insightsを開き、File > Open Trace Fileを使用してダウンロードしたファイルを指定します。
検証
正常に完了したワークフローは、以下のようになります。
- ADT Webのセッション詳細ページで、Tracesタブに少なくとも1件、ステータスがAvailable(Uploadingでも、Failedでもない)のエントリが表示される。
- そのエントリに、セッションの正しいキャプチャタイムスタンプ、期間、チャネルが表示されている。
- ダウンロードしたファイルが、エラーなくUnreal Insightsで開く。
トラブルシューティング
Tracesタブに「No trace captured for this session」と表示される。 原因と対処方法については、セットアップガイドのNo trace captured for this sessionを参照してください。
トレースエントリが「Uploading...」と表示されたまま更新されない。 アップロードがまだ進行中か、接続が遅い可能性があります。数分待ってから更新してください。15分経ってもステータスが変わらない場合は、テスターのネットワーク接続を確認してください。アップロードが完全に失敗した場合、エントリには「Upload failed」と表示され、テスターのマシンからファイルを手動で取得する手順が案内されます。
トレースエントリに警告バッジ(⚠)が表示される。
このトレースは、Trace.Startを使用してセッション中にキャプチャされたものです。CPUスコープ名やスレッド名はエンジン初期化時に一度だけ発行されるため、Unreal Insightsで一部のイベントラベルが「unknown」と表示される場合があります。トレース自体は引き続き使用可能です — イベントは記録されていますが、一部のラベルが欠落している可能性があります。これは、セッション中のキャプチャにおいて想定される動作です。
Trace.SnapshotFileを実行してもファイルが生成されない。
スナップショットコマンドが機能するには、ビルドがUE_TRACE_ENABLED付きでコンパイルされている必要があります。ビルドが正しくコンパイルされているにもかかわらずファイルが生成されない場合は、指定したパスがSaved/Profiling/内にあることを確認してください — ADTはそのディレクトリのみを監視します。
トレースエントリが「Trace expired」と表示され、Downloadボタンがない。 保持期間が終了した際にファイルが削除されました。デフォルトの保持期間は3日間です。エントリはセッション詳細ページに表示され続けますが、ファイルをADTから復元することはできません。チームが定常的により長い期間を必要とする場合は、Studio Administratorに依頼してChannel SettingsまたはTrack SettingsのFile retentionの設定を増やしてもらってください。
カスタムの-tracefile=パスを指定しても、ADTにトレースエントリが生成されない。
ADT HubはSaved/Profiling/のみを監視します。-tracefile=<custom_path>によって他のディレクトリに書き込まれたトレースファイルは検出・アップロードされません。カスタムの-tracefile=引数を削除するか、Saved/Profiling/を指すように変更してください。
ファイルはUnreal Insightsで開くが、多くのイベントに「unknown」ラベルが表示される。
これは、Trace.Startでキャプチャされたセッション中のトレースにおいて想定される動作です。(セッション起動時からキャプチャされる)オートキャプチャトレースには、完全なラベルが付きます。完全なメタデータが必要な場合は、オートキャプチャトレースを使用するか、Trace.Start/Trace.Stopの代わりにTrace.SnapshotFileを使用してください。
次のステップ
- ADT HubでTrace Captureを有効にする方法(Unreal Engine) — チャネルとトラックのTrace Capture設定を行います
- Unreal Insights Trace Capture — キャプチャ方法、保持期間、制限事項について理解します