アルゴンUE4/UE5&アプリ開発日記

UE4/UE5の機能やプラグインを紹介します。初心者や中級者向けになってます!!

【UE5】UnrealInsightsで動作を確認してみる。

UE5でUnrealInsightsが使いやすくなっている!

今回はUnrealInsightsが使いやすくなっているので、

そちらの使用方法を細かく紹介していこうと思います。

公式ドキュメントはこちらになります。

Unreal Engine における Unreal Insights の概要 | Unreal Engine ドキュメント

https://docs.unrealengine.com/5.0/ja/timing-insights-in-unreal-engine-5/※UE5.0.2で確認しています。

※今回の方法についてはC++でUnrealInsightsプロジェクトをビルドしないで使用するの方法になります。

UnrealInsightsって何でしょうか?

UnrealInsightsとはUnrealEngine側で用意されている、

GPUやCPU・メモリなどの動きを解析してくれるツールになります。

これを使用することによりどこで負荷がかかっているかを確認することができます。

Pluginの初期化やTickなどの処理情報なども保存されます。

※使用方法やどこにどのような負荷がかかっているかを後述していきます。

・目次に戻る

実際にUnrealInsightsを使用する

実際にUnrealInsightsを使用していきます。

UE5からエディタ上からの起動が可能になっているので、

メニューのツールのUnreal Insightsの実行を選択してUnrealInsightsを起動します。

Unreal Insightsの起動

※UE_5.0\Engine\Binaries\Win64内にUnrealInsightsのExeがあるのでこちらからも実行できます。

起動するとUnreal Insights Session Browserが表示されます。

UnrealInsightsSessionBrowser画面

TraceStoreタブ → 保存された情報を選択するタブ

Connectionタブ → NetworkInsights用の設定を行うタブ

※今回はNetworkInsightsの話をしないのでConnectionタブの説明は省きます。

●TraceStoreタブ上での設定

▽Trace Store Directory
スタンドアロンで起動した際の情報が保存されてるディレクトリの情報

TraceStoreDirectory

▽各プロファイルのリスト

→ 保存したプロファイル情報がリストで表示されます。
  ダブルクリックするとプロファイルの情報が見れます。

各プロファイルリスト

▽フッターの設定

→ 自動でセッションを行うかのチェックや、
  プラットフォーム・アプリ名などで検索する枠などがあります。

Unreal Insights Session Browserのフッター
右端のボタンはメニュー設定が開き、自動でテストするかなどの設定を変更できます。

設定メニュー

UnrealInsightsSessionBrowserの説明は以上です。

それでは実際に情報を収集してみたいと思います。

収集する方法は簡単でスタンドアロンとしてゲームを起動するだけです。

実際に収集する流れを動画にしてみました。

TimingInsightsの確認方法について

それではプロファイルしたデータを実際に見ていきましょう。

公式でこんな画面でこんな風に見ますよというのが紹介されています。

こちらも併せて確認してみるとより理解が深まるかと思います。

UE4.25ですがUE5でも表示に大きな差があるというわけでありません。

まず実際に画面を開いてみましょう。

データを開くとUnrealInsightsで記録した画面が出てきます。

記録した画面は主に4つの区切りでで表示されます。

※処理時間詳細部分はだいぶ省略して一つの枠組みとして言っています・・・

UnrealInsightsの画面

◎FrameRateグラフについて

FrameRateグラフではどのタイミングでFPSが落ちているかを確認できます。

FrameRateが落ちている箇所をクリックすると、

各処理の横棒グラフが連動して該当箇所を示してくれます。

FrameRateグラフと各処理の横棒グラフの連携

FrameRateグラフの操作方法は以下になります。

・マウスホイール → グラフの拡大・縮小

・Shift+マウスホイール → FrameRateグラフの表示最大値の変更

◎各処理の動作グラフについて

バックグラウンドの処理・キャラクターの操作などゲーム上の処理全般を、

確認することができるようになっています。

ぱっとみだと何をやっているか全然分かりませんが、

実際にズームするとキャラクターアニメーションやカメラの動きが表示されています。

横棒グラフをズームした際に表示される各種処理

各処理の動作グラフは表示される情報が多彩なので、

グラフ左上の項目タブ欄から表示する情報を指定したり選択できます。

まずは「All Tracks」になります。

これは各処理の動作グラフに表示する処理の項目を選択できます。

チェックされている項目のみを表示する動作となっています。

その隣にあるGPU/CPUタブはGPUとCPUのトラック・スレッドごとに切り替えます。

※左:All Tracksタブでの選択項目 右:GPU/CPUタブでの選択項目

All Tracksタブの項目   CPUやGPUトラックの表示オプション

その他にもOtherやPluginsがあります。

OtherはFile動作グラフトラックなどの表示切替ができ、

PluginsはUnrealInsights用プラグインで表示されるもの表示切替ができます。

※左:Otherタブでの選択項目 右:Pluginsタブでの選択項目

Others  Plugins

最後のViewModeはその名の通り表示を変更することが可能です。

ViewModeの選択項目

◎処理情報のログについて

処理情報のログについては文字通り各処理のログが格納されます。

警告やエラーも残るので表示したい項目を指定してログを確認することも可能です。

各処理のログ画面

こちらもVerbosityThresholdたぶやCateGory Filterタブや検索窓が用意されていて、

ほしい情報をカテゴリ分けしたり項目分けしたりすることが可能です。

※左:Verbosity Thresholdの項目分け 右:CategoryFilterのカテゴリ項目

VerbosityThresholdの項目設定  CategoryFilterでの項目分け

◎処理時間の詳細について

一番右にある部分はTimersタブとCountersタブがあります。

TimerパネルはFrameRateのグラフ画面で指定しタイミングの各処理の時間や、

インスタンス数などを表示してくれます。

処理時間の表示

もっと細かい見方を知りたいという方はこちらをぜひご確認ください!

Unreal Engine 5 の Timing Insights | Unreal Engine ドキュメント

その他のInsightsについて

今回やった以外にもPluginであったり追加の起動パラメータなどで、

ほかの情報をプロファイルすることが可能になっていたりします。

私が確認した中では追加の起動パラメータで「-Trace=memory」を設定すると、

MemoryInsightsとしてメモリ情報をトラックしたりすることが可能です。

追加の起動パラメータ設定

ほかにもプラグインが用意されているのでいろいろ試したら追記していきます。

用意されているプラグイン

以上で説明は以上になります。

ゲームを作っている最中にボトルネックが発生した場合に確認するとよいと思います。