27.

UE5 Unreal Insights 完全ガイド(起動方法 / トレース取得 / CPU・GPU・メモリ解析 / ボトルネック特定)

編集
この記事の要点
  • Unreal Insights は UE5 同梱のパフォーマンス解析ツール。CPU / GPU / フレーム時間 / メモリ / ロード状況を時系列で可視化できる
  • Trace Store + Insights ビューアの 2 段構成。ゲームから .utrace を出力し、ビューアで開く
  • 起動は Editor 下部の Trace ステータスバー、または UnrealInsights.exe を直接実行
  • よく使うビューは Timing Insights(フレーム/CPU/GPU)・Memory InsightsAsset Loading Insights
  • 計測手順: Trace.Start → 数十秒プレイ → Trace.Stop → 生成された .utrace を Insights で開く

Unreal Insights とは

Unreal Insights は、Unreal Engine 5(UE4 後期から搭載)に同梱されている専用のパフォーマンス解析ツールです。ゲーム実行中のフレーム時間CPU 各スレッドの処理内訳GPU タスクメモリ確保/解放アセットロードなどを時系列のトレースとして記録し、後から GUI で詳細に可視化できます。「フレームレートが急に落ちる」「特定シーンで Hitch が出る」といったボトルネックの原因特定に欠かせません。

従来 stat unitstat scenerendering といったコンソールコマンドで部分的に見ていた情報を、1 つの統合タイムライン上で串刺しに観察できるのが最大の特徴です。

Unreal Insights の構成

要素役割
Trace Systemゲーム実行時に各種イベント (CPU/GPU/Memory) を記録する仕組み
Trace Store.utrace ファイルを保管・一覧する常駐サーバ
Unreal Insights (Viewer).utrace を読み込みタイムライン解析する GUI ツール

起動方法

Unreal Editor から起動

Editor の下部ステータスバーにある Trace / Insights Status Bar Widget をクリックし、Open Unreal Insights を選択します。バックグラウンドで Trace Store が起動し、ビューアが立ち上がります。

直接実行する場合

UE5 のインストールフォルダ直下、Engine\Binaries\Win64\UnrealInsights.exe を直接実行できます。複数 PC でリモート計測する場合はこちらを使います。

# Windows でのパス例
"C:\Program Files\Epic Games\UE_5.4\Engine\Binaries\Win64\UnrealInsights.exe"

トレースを取得する基本フロー

  1. Trace Store / Unreal Insights を先に起動しておく
  2. ゲーム(Editor の PIE でも実機ビルドでも可)を起動
  3. 計測したいシーンの少し前で Trace.Start をコンソールに入力
  4. 数十秒プレイ
  5. Trace.Stop でトレースを終了
  6. Insights のホーム画面に新しい .utrace が表示されるのでダブルクリックで開く
# UE のコンソール (~) で実行
Trace.Start cpu,gpu,frame,bookmark,memory
Trace.Stop

# 旧来の utrace 取り方 (stat startfile/stopfile)
stat startfile
stat stopfile
# → Saved/Profiling/UnrealStats フォルダ配下に .ue4stats が生成される

パッケージビルドで取得する

起動引数に -trace=cpu,frame,bookmark -tracehost=127.0.0.1 を付けると、起動時から Trace Store にデータが流れ込みます。リモート計測する場合は -tracehost に Insights を実行しているマシンの IP を指定します。

主要ビューと使いどころ

ビュー分かること
Timing Insightsフレーム毎の Game Thread / Render Thread / GPU の使用時間と関数コール内訳
Memory Insightsアロケーション量、リーク疑い、メモリ使用ピーク
Asset Loading Insights非同期ロードのキュー / 完了タイミング、Stall の発見
Networking Insightsレプリケーションのパケットサイズ・頻度
Slate InsightsUMG/Slate の更新コストとリビルド回数

Timing Insights の見方

Timing Insights を開くと上から順に Frames(1 フレームごとの色帯)・Timing Tracks(GameThread / RenderThread / RHIThread / GPU など)・LogsCounters が並びます。フレーム時間が長い帯を選択 → 下の関数コール一覧でどの処理に時間がかかっているかを一目で確認できます。

  • Game Thread の UWorld::Tick 配下が太い → ゲームロジック・Tick が重い
  • Render Thread の DrawScene が太い → 描画コマンド数や Visibility が重い
  • GPU の BasePass が太い → シェーダ・マテリアルが重い、ポストプロセスを疑う

ボトルネックを特定する典型パターン

症状疑うべき場所対処の方向性
Game Thread が CPU バウンドBlueprint Tick / Animation UpdateTick 間引き、Tick Group 見直し、ロジックの C++ 化
Render Thread が遅い大量の Draw Call、Instancing 未使用HLOD、Instanced Static Mesh、Nanite 化
GPU バウンドマテリアル、ポストプロセス、解像度マテリアル簡素化、Lumen / Nanite の品質調整、解像度スケーリング
急な Hitch非同期ロード、ガベージコレクト事前ロード、GC 間隔調整、PreloadAtRuntime
メモリ増加Spawn しっぱなしのアクター、未開放テクスチャObject Pool、参照切れ、テクスチャ Streaming Pool

Bookmark でシーン境界を打つ

計測中に TRACE_BOOKMARK(TEXT("LevelLoad End")) を呼ぶか、コンソールから Trace.Bookmark "名前" を実行すると、タイムライン上に縦線で目印が打てます。「ロード完了直後」「ボス出現時」など、後で振り返るシーンの境界を明示しておくと解析が大幅に楽になります。

運用上のコツ

  • Development ビルドで計測する。Shipping だと Trace が外れているチャンネルがある
  • 一度に有効化するチャンネルが多いと Trace ファイルが肥大化する。cpu,frame,bookmark から始めて必要に応じて追加する
  • Editor の PIE と実機ではボトルネックが大きく違うことがある。最終確認は必ず実機ビルドで行う
  • 計測中のVSync を OFFr.VSync 0)にすると、隠れた余力やボトルネックがはっきり見える
  • Memory Insights を使う場合は -trace=memory,memtag を有効化

まとめ

Unreal Insights は UE5 のパフォーマンス改善における事実上の標準ツールです。stat unit で「Game Thread が重そう」と当たりを付けた後、Insights でどの関数のどの呼び出しが重いかを関数粒度で特定できるので、当てずっぽうの最適化を防げます。早期から計測する習慣を付けることで、出荷直前の大規模リファクタを避けられます。

関連記事

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. ノード・コンポーネント・関数・クラス一覧
  2. Tips
  3. エラー一覧
  4. ブループリント (Blueprint)
  5. プロジェクト (Project)
  6. レベル (Level)
  7. ウィジェット (Widget)
  8. データテーブル (DataTable)
  9. アセット
  10. アウトライナー
  11. ビュー
  12. レイヤー
  13. レイアウト
  14. ビルド
  15. ライティング
  16. ジオメトリ
  17. アクタ
  18. トランスフォーム
  19. スナップ
  20. ピボット
  21. コンテンツドロワー
  22. コンポーネント
  23. メッシュ
  24. マテリアル
  25. World Composition
  26. World Partition
  27. Unreal Insights
  28. セーブ&ロード

最近更新/作成されたページ