ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Unreal Insights とは
Unreal Insights は、Unreal Engine 5(UE4 後期から搭載)に同梱されている専用のパフォーマンス解析ツールです。ゲーム実行中のフレーム時間・CPU 各スレッドの処理内訳・GPU タスク・メモリ確保/解放・アセットロードなどを時系列のトレースとして記録し、後から GUI で詳細に可視化できます。「フレームレートが急に落ちる」「特定シーンで Hitch が出る」といったボトルネックの原因特定に欠かせません。
従来 stat unit や stat 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"
トレースを取得する基本フロー
- Trace Store / Unreal Insights を先に起動しておく
- ゲーム(Editor の PIE でも実機ビルドでも可)を起動
- 計測したいシーンの少し前で
Trace.Startをコンソールに入力 - 数十秒プレイ
Trace.Stopでトレースを終了- 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 Insights | UMG/Slate の更新コストとリビルド回数 |
Timing Insights の見方
Timing Insights を開くと上から順に Frames(1 フレームごとの色帯)・Timing Tracks(GameThread / RenderThread / RHIThread / GPU など)・Logs・Counters が並びます。フレーム時間が長い帯を選択 → 下の関数コール一覧でどの処理に時間がかかっているかを一目で確認できます。
- Game Thread の
UWorld::Tick配下が太い → ゲームロジック・Tick が重い - Render Thread の
DrawSceneが太い → 描画コマンド数や Visibility が重い - GPU の
BasePassが太い → シェーダ・マテリアルが重い、ポストプロセスを疑う
ボトルネックを特定する典型パターン
| 症状 | 疑うべき場所 | 対処の方向性 |
|---|---|---|
| Game Thread が CPU バウンド | Blueprint Tick / Animation Update | Tick 間引き、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 を OFF(
r.VSync 0)にすると、隠れた余力やボトルネックがはっきり見える - Memory Insights を使う場合は
-trace=memory,memtagを有効化
まとめ
Unreal Insights は UE5 のパフォーマンス改善における事実上の標準ツールです。stat unit で「Game Thread が重そう」と当たりを付けた後、Insights でどの関数のどの呼び出しが重いかを関数粒度で特定できるので、当てずっぽうの最適化を防げます。早期から計測する習慣を付けることで、出荷直前の大規模リファクタを避けられます。
関連記事
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?