UE Insightsを使って関数の呼ばれた回数を調べる方法

現在、自作のアプリの処理時間が長く、ネックとなっている関数を調査しています。

その調査にunreal insightsを使おうと思っておりますが、この機能を使ってとある関数のコール回数は調べることが出来ますか?

現在、TRACE_CPUPROFILER_EVENT_SCOPEマクロを使って、処理時間を見ることはできていおります。

<br/>

<br/>

[Image Removed]

[Image Removed]

<br/>

これに加えて、関数の呼び出しツリーを解析することはできますでしょうか?

例えば、Visual StudioのCPUプロファイリングでは以下のような解析が出来ます。

お手数をおかけしますが、よろしくお願いします

[Image Removed]

(パフォーマンス プロファイラーでの CPU プロファイリング - Visual Studio (Windows) | Microsoft Learn)

[Attachment Removed]

すみません。関数の回数に関してはトラックを右クリック->Select Time Range of Eventを選択することで見ることが出来ました

[Image Removed]↓表示結果

[Image Removed]

その他にUEのLinePlaneIntersectionを現在解析しております。

現在作っているアプリではLinePlaneIntersectionを何度も呼んでおり解析を行いたいです。

LinePlaneIntersection関数内に以下のコードを入れて、Insightsで解析をしました [Image Removed]

すると以下のような解析結果になりました

[Image Removed]を見ることはできますでしょうか?

また平均処理時間はIncl / Countで計算可能でしょうか?

よろしくお願いします

[Attachment Removed]

お世話になっております。

>その調査にunreal insightsを使おうと思っておりますが、この機能を使ってとある関数のコール回数は調べることが出来ますか?

既にご利用頂いております「Select Time Range of Event」で確認が可能です。Timing Viewを範囲選択すると、TimersタブのCount 項目に関数コール回数が表示されます。

> 関数の呼び出しツリーを解析することはできますでしょうか?

Insightsには現在Callersのツリーが表示されているかと思いますが、マーカーが埋め込まれている関数についてはCallersにて階層化表示でツリー表示できます。それ以外で、実際の提示頂いたようなコールスタックのようなレベルのものでは表示する機能はありません。これを実現するには SuperLuminalなどのような外部ツールをご利用頂くことをおすすめします。

> LinePlaneIntersection1回当たりの処理時間(最大時間と最小時間)を見ることはできますでしょうか?

TimersタブやCallersタブ内で該当関数(マーカー)を選択して右クリック、Find Instanceから"Maximum Duration Instance"/“Minumum Duration Instance” を選択すると確認が可能です(UE5.7ではこの機能がありますが、ご利用のUE5.3にあるかどうかは今手元で確認できておりません)。

> また平均処理時間はIncl / Countで計算可能でしょうか?

CallersタブでIncl/Exclの右側にカーソルを当てるとオプションが表示できるので、そこで"View Column"を選択すると、Average Inclusive Time/ Average Exclusive Timeの表示を追加することが可能で、そこで選択したレンジ内での関数における平均処理時間を表示することができます。

[Attachment Removed]

ご回答ありがとうございます!

UE5.3では処理の最大時間と最小時間、平均時間を見ることが出来ませんでしたが、UE5.7では確認が出来ました。

すいません、最後にMemory Insightがグレー状態で使用不可になっております。

こちら使うにあたって条件はありますでしょうか?

現在、UEWを使いUEエディターの拡張のツール作成にてInsightを使用しております。(PIEではないということです。)

お手数をおかけしますが、よろしくお願いします

[Image Removed]

[Attachment Removed]

Memory Insights がグレー表示となっているのは、Memory Insights に関連するチャネルを有効にしていない状況で Unreal Insightsが開かれている状況である、ということを示します。例えば -trace=memory のように、Memory Insightsのチャネルを有効にしてアプリケーションのパフォーマンスプロファイルを行いキャプチャを取得すると、Unreal Insightsでキャプチャを開く際に Memory Insights で専用のメモリプロファイリング結果を表示することができ、Memory Insights の表示がグレーではなく白色表示となるはずです。

[Attachment Removed]

ありがとうございます

コマンドラインにてue editorを起動する際にオプション追加することでmemory insights使えることを確認できました。

一旦、こちらのスレッドはクローズにして頂けると幸いです。

色々と教えていただきありがとうございました!

[Attachment Removed]