ADT HubでTrace Captureを有効にする方法(Unreal Engine)
注釈:本資料はAI技術を用いて翻訳されています。
目的
テスターがセッションを実行した際に.utraceファイルが自動的に収集・アップロードされるように、ADT HubでビルドチャネルまたはトラックのUnreal Insights Trace Captureを有効にします。
前提条件
- ADT HubでStudio Administrator権限を持っていること。
- Unreal Engineプロジェクトのビルドが
UE_TRACE_ENABLEDフラグ付きでコンパイルされていること。このフラグがないビルドでは、ADTでTrace Captureをどのように設定しても.utraceファイルは生成されません。不明な場合は、Trace Captureを有効にする前にビルドエンジニアに確認してください。 - Unreal Engine 5.3以降を使用していること。それより前のエンジンバージョンはサポートされていません。
手順
ステップ1:Channel Settingsを開く
ADT HubでDistributionに移動し、設定したいチャネルを開きます。
チャネルページの右上にある歯車アイコンをクリックします。Channel Settingsモーダルが開きます。
Settingsタブを選択します。
ステップ2:チャネルのTrace Captureを有効にする
Settingsタブで、「Disable auto-delete」の下にあるTrace Captureセクションを見つけます。
Trace CaptureのトグルをONにします。
トグルがONの場合、ADTはこのチャネル内のトラックから起動されるすべてのセッションに対して、トレース起動引数を自動的に挿入します。トラックにSet Launch Argumentsで手動の-trace=フラグが既に設定されている場合、ADTが挿入する引数は追加適用されます — 両方が有効になります。
ステップ3:記録チャネルを設定する
Recording channelsフィールドには、デフォルトの軽量プロファイルが事前に設定されています。
cpu gpu frame bookmark
このプロファイルは、CPUアクティビティ、GPUアクティビティ、フレームタイミング、ブックマーク注釈をカバーします。ほとんどのパフォーマンス調査において、これが適切な出発点です。
より負荷の高いチャネルを追加するには、+ Addをクリックしてチャネル名を入力します。追加可能なチャネルには以下が含まれます。
| チャネル名 | 記録される内容 |
|---|---|
memory | メモリ割り当てとヒープ使用状況 |
loadtime | アセットおよびレベルの読み込み時間 |
rhicommands | グラフィックスコマンドリストの詳細 |
object | UObjectの生成、破棄、参照追跡 |
チャネル名は、有効なUnreal Engineのトレースチャネル識別子である必要があります。これは、-trace=起動引数やTrace.Startコンソールコマンドで使用されるものと同じ名前です。フィールドがフォーカスを失うと、無効な名前は赤色で強調表示され、無効な項目がすべて削除されるまでSaveボタンは無効のままになります。
デフォルトセットからチャネルを削除するには、そのタグの×をクリックします。
ステップ4:ファイル保持期間を設定する
File retentionの下で、トレースファイルが自動的に削除されるまでの保持期間を選択します。設定可能な範囲は1日から7日です。デフォルトは3日です。
トレースファイルの保持期間は、セッションおよびビルドの保持期間とは独立しています。トレースは、親セッションやビルドのレコードよりも先に期限切れになる場合があります。トレースが期限切れになると、そのエントリはセッション詳細ページに「Expired」ラベル付きで表示され続けますが、ファイルはダウンロードできなくなります。
セッション終了後に開発者がパフォーマンスの問題を調査するための十分な時間を確保できる保持期間を選択してください。
ステップ5:Channel Settingsを保存する
Saveをクリックします。これで、トラック単位のオーバーライドが設定されていないこのチャネル内のすべてのトラックに対して、Trace Captureが有効になります。
新しい設定は、次のセッション起動時から適用されます。すでに進行中のセッションには影響しません。
オプション:特定のトラックのTrace Captureをオーバーライドする
特定のトラックに異なるトレース設定が必要な場合 — 例えば、専用のパフォーマンステスト用トラックにより負荷の高いチャネルセットを設定したい場合や、簡易的なスモークテスト用のトラックでTrace Captureを無効にしたい場合 — トラックごとにチャネルレベルの設定をオーバーライドできます。
ステップA:トラックのTrace Captureパネルを開く
チャネルページで、トラックカードを見つけます。トラックカードの**「...」メニュー**をクリックし、Track > Trace Captureを選択します。
そのトラックのTrace Captureパネルが開きます。
ステップB:トラック単位のオーバーライドに切り替える
デフォルトでは、トラックはFollow channel settingsがONになっています。これは、チャネルレベルの設定を継承していることを意味します。
Override for this trackをONに切り替えます。Status、Recording channels、File retentionのフィールドが有効になり、編集できるようになります。
ステップC:オーバーライドを設定する
必要に応じてStatus(このトラックを有効または無効にする)を設定し、Recording channelsを設定し、File retentionを設定します。チャネルレベルの設定と同じ検証ルールが適用されます。
ステップD:オーバーライドを保存する
Saveをクリックします。トラック単位の設定は、このトラックから起動されるセッションにのみ適用されます。チャネル内の他のトラックは、引き続きチャネルレベルの設定を使用します。
検証
Trace Captureが正しく設定されていることを確認するには:
- Trace Captureが有効なトラックからセッションを起動します。
- セッション終了後、ADT Web > Versions > [対象のバージョン] > [対象のビルド] > Sessions > [セッションID] > Tracesタブに移動します。
- ステータスが「Uploading...」のトレースエントリが表示され、アップロード完了後にファイルの詳細が表示されるように更新されるはずです。
Tracesタブに「No trace captured for this session」と表示される場合は、以下のトラブルシューティングを参照してください。
トラブルシューティング
Tracesタブに「No trace captured for this session」と表示される。
ビルドがUE_TRACE_ENABLED付きでコンパイルされていない可能性が最も高いです。Trace Captureには、このコンパイルフラグが必要です。ビルドエンジニアに確認し、再ビルドしてください。
Trace Captureは有効になっているが、セッション実行後もエントリが表示されない。
トグルを有効にした後、チャネルまたはトラックの設定が保存されたかを確認してください。また、ビルドがUE 5.3以降であり、UE_TRACE_ENABLED付きでコンパイルされていることを確認してください。セッションがADTの外部で独立して開始されたのではなく、ADT Hubから起動されたことを確認してください。
Recording channelsを編集した後、Saveボタンが無効になる。 フィールド内の1つ以上のチャネル名が無効です。無効なタグは赤色の背景で強調表示されます。保存する前に、無効な項目を削除または修正してください。
トレースファイルが、開発者がダウンロードする前に期限切れになる。 チャネルまたはトラックの設定でFile retentionの期間を延長してください。最大値は7日です。保持期間の変更は新しいトレースにのみ適用される点に注意してください — すでにアップロードされたファイルは、アップロード時点で有効だった保持期間に従います。
トラックがチャネルレベルの設定に従っていない。 そのトラックには、トラック単位のオーバーライドが有効になっている可能性があります。トラックのTrace Captureパネル(トラックカード > 「...」 > Track > Trace Capture)を開き、「Override for this track」がONになっているかを確認してください。トラックにチャネルの設定を継承させたい場合は、「Follow channel settings」に戻してください。
次のステップ
- トレースをキャプチャしてダウンロードする方法(Unreal Engine、Windows) — セッションを実行し、セッション中のスナップショットをトリガーして、解析用にトレースをダウンロードします
- Unreal Insights Trace Capture — 設定する前に、この機能が概念的にどのように動作するかを理解します