プロファイラ ツール リファレンス

プロファイラ はアンリアル エンジン 3 では StatsViewer ツールに当たります。ゲームデータを収集およびトラックしてゲームのパフォーマンスをモニターするためのツールです。このデータを使って、ゲームの遅延または引きつりの潜在的な原因を特定するができます。

パフォーマンスを初めて調節する場合は、パフォーマンスおよびプロファイリング ドキュメントを参照して、ゲームのパフォーマンスのモニタリング方法の詳細およびコツをご確認下さい。

プロファイラを有効にする

Profiler を有効にしてデータ収集を行う方法は 2 通りあります。

  1. ライブ接続

    • パラメータ -messaging でゲームを実行します (例えば、UE4Editor-Win64-Debug.exe -messaging)。

    • パラメータ -messaging で UFE を実行します (例えば、 UnrealFrontend-Win64-Debug.exe -messaging)。

    • [Window] メニュー バーから Developer ツール[Session Frontend (セッション フロントエンド)] を選択し、[Profiler (プロファイラ)] タブを選択します。

  2. 以下の方法で、キャプチャ データをロードします。

    • [Profiler (プロファイラ)] タブからツールバーの [Load (ロード)] ボタンを押して、 「.ue4stats」 ファイルを選択します。

    • エクスプローラーまたは他のファイルマネージャーから統計情報ファイルを [Profiler (プロファイラ)] ウィンドウへドロップします。

C:\Program Files\Unreal Engine\4.3\Engine\Binaries\Win64 フォルダからスタンドアロンの UnrealFrontEnd.exe を起動しても、 [Session FrontEnd][Profiler (プロファイラ)] タブへアクセスできます (注記: バージョンにより上記のパスが異なる場合があります)。

プロファイラ ウィンドウ

以下は [Profiler] ウィンドウと UI コンポーネントです。

画像をクリックしてフルサイズで表示

  1. [Connected Session (接続済みのセッション)][Session Information (セッション情報)] ウィンドウをセッションとして使用して、統計情報データを取得します。

  2. [Main Toolbar (メイ ン ツールバー)] ウィンドウには、基本的なグローバル機能が含まれます。

  3. [Data Graph Full (データグラフ全画面)] ウィンドウでは、統計情報が全画面でグラフ表示されます。

  4. [Data Graph (データグラフ)] ウィンドウは、統計情報がグラフ表示されます。

  5. [Filter (フィルター)][Presets (プリセット)] ウィンドウには、すべての統計情報とグループが含まれます (ユーザーによるフィルタとソートが可能です)。

  6. [Event Graph (イベント グラフ)] ウィンドウには、選択したフレーム (複数可) がイベントグラフとして表示されます。

メイン ツールバー

以下は、メイン ツールバー に含まれるアクションの説明です。

オプション

説明

統計ファイルをロードすることができます。

このオプションはまだ実装されていません。

ライブ接続の場合のみ、接続されたセッション / クライアントとの通信が可能になります (有効の時はアイコンが光ります)。

ライブ接続の場合のみ、データグラフ ビューとのライブ同期が可能になります。

ライブ接続の場合のみ、クライアント上にデータをキャプチャします。キャプチャが完了するとポップアップ メッセージが表示され、キャプチャ データをユーザーのマシンへ転送するかを確認します。データが転送されるとポップアップ メッセージが表示され、希望に応じて統計ファイルをロードすることができます。

Stats Profiler を有効にします。

FPS Chart を表示します (このオプションは現在作業中です)。

プロファイラ の設定を開きます: [Single Instance Mode] または [Show Coalesced View Modes in Event Graph (イベントグラフで結合ビューモードで表示)] を有効 / 無効にします。

データをキャプチャした ファイルは以下の場所に格納されます: ...\UE4\Engine\Programs\UnrealFrontend\Saved\Profiling\UnrealStats\Received...

フィルタとプリセット

以下は、メイン ツールバー に含まれるアクションの説明です。

オプション

説明

Search Box (1)

統計情報の検索に使用します。文字列を入力すると、位置するエレメントが [Stats/Groups] ウィンドウで強調表示されます。

Group By (2)

統計情報のグループ化のメソッドです。デフォルトでは統計情報はグループ名でグループ化されます。

Sort By (3)

グループ内での統計情報のソート方法です。デフォルトでは名前でソートされます。

Stats/Groups Window (4)

統計情報とグループを表示します。 アイコンをクリックすると、グループごとに拡張されます。統計情報は アイコンを強調表示させます。

階層の統計情報、別名スコープ カウンタの表示を切り替えます。

単精度浮動小数点、倍精度浮動小数点、アキュムレータの表示を切り替えます。

整数統計情報、ワード カウンタ、アキュムレータの表示を切り替えます。

メモリ情報の表示を切り替えます (このオプションは現在作業中です)。

統計情報のトラック方法

3 通りの方法で統計情報をトラックできます。

  1. 選択した統計情報を ダブルクリック して、[Data Graph View] での表示に追加 / 削除します。

  2. [Stats/Groups] ウィンドウ から [Data Graph View] へ統計情報をドラッグ&ドロップします (下の画像をご覧ください)。

  3. [Event Graph View] から統計情報を ドラッグ&ドロップ します。

トラックされていると、統計情報は名前の横に「*」記号が付いて、異なる色で表示されます。

さらに、グループ名の次の () 内の数を見れば、グループでトラック中の統計数が分かります。

上図の Audio では、グループにある 11 項目のうち、現在 1 項目がトラック中です。

データ グラフ

[Data Graph (データグラフ)] ビューにはトラックされた全ての統計情報が表示されます。統計情報のトラックを停止するには、統計情報というテキスト上にある [X] ボタンを押します。

ClickToStopTracking.png

統計情報のテキストは以下の情報で構成され、このように分類されます。

StatDescriptionBreakdown.png
  1. (Group Name)(グループ名) - 統計情報のグループ名

  2. Stat Name (統計情報名) - 統計情報名

  3. Actual Value (実際の値) - 統計情報の実際の値

  4. Min Value (最小値) - キャプチャ全体での最小値

  5. Avg Value (平均値) - キャプチャ全体での平均値

  6. Max Value (最大値) - キャプチャ全体での最大値

  7. Calls (コール) - この統計情報に対するコールを持つフレーム比率 (階層データの場合のみ)

  8. Min Value (最低値) - キャプチャ全体でのこの統計情報に対するコールの最低数 (階層データの場合のみ)

  9. Avg Value (平均値) - キャプチャ全体でのこの統計情報に対するコールの平均数 (階層データの場合のみ)

  10. Max Value (最大値) - キャプチャ全体でのこの統計情報に対するコールの最大数 (階層データの場合のみ)

「階層データのみ」と記載された値は、階層データの場合のみ表示され、通常は表示されない場合があります。

Data Graph 軸は、以下のような説明もできます。

  • 下 - 0.0 から開始する開始からの時間を表示します。

  • 上 - 0.0 から開始する開始からのフレーム数を表示します。

  • 左 - ズーム レベルの時間に関する適応情報をミリ秒で表示します。マウス ホイール を使って、 30 、 60 、 100 FPS で実行されるゲームの場合、 3 本の軸が既に定義されており、それぞれ異なる色で表示されます。

  • 右 - 浮動小数点やメモリなど、その他の統計情報に関する適応情報を表示します。浮動小数点やメモリの値は通常、時間関連の情報より値が大きくなるため、この軸のスケールは左側の軸のスケールとは異なります。

[Data Graph (データグラフ)] ウィンドウを 右クリック しても、コンテキスト メニューにオプション情報がついて表示されます。

  • View Mode - ここでは、 インデックスベース モードのみがサポートされています (タイムベース モードは プロファイル の使用はマルチセッション モードのみで、デフォルトでは無効になっている体験版の機能です)。

  • Select All Frames - すべてのフレームを選択して Event Graph View を更新します。

  • Live Preview - メインツール バーと同じオプションです。

イベントグラフ

イベント グラフ ビュー は、以下で構成されています。

  1. タイトル - 現在接続中のセッション名、または現在ロードされた統計情報ファイルを表示します。

  2. イベントグラフ ツールバー - イベント グラフ のフィルター、その他の機能に使用します。

  3. 関数の詳細 - 選択したイベント / 関数の詳細ビューです。

  4. メイン イベント グラフ - 選択したフレーム (複数可) の階層なビューです。

イベント グラフ ツールバー

以下は、イベント グラフ ツールバー 上に含まれる各アクションの説明です。

オプション

説明

Data Graph 上でフレームが 1 つ選択された場合のみ有効になります。

Data Graph で複数のフレームが選択されるとデフォルトで有効になります。フレーム別の平均グラフです。

Data Graph で複数のフレームが選択されると有効にできる場合があります。フレーム別の一番高いグラフです。

階層ツリー ビューの メイン イベントグラフ にコンテンツを表示します。

包括時間 でソートされているイベントのフラット表示リストに Main Event Graph のコンテンツを表示します

イベント名 で結合され 包括時間 でソートされているイベントのフラット表示リストに メイン イベントグラフ のコンテンツを表示します。

排他時間 でソートされているイベントのフラット表示リストに Main Event Graph のコンテンツを表示します

イベント名 で結合され 排他時間 でソートされているイベントのフラット表示リストに メイン イベントグラフ のコンテンツを表示します。

アクション履歴を戻すボタンです。

アクション履歴を進ませるボタンです。

アクション履歴メニューを表示します。

包括時間に基いて選択したイベントにホットパスを展開して、包括時間の降順ソートを有効にします (パフォーマンス負荷が最も大きいパスです)。

関数の詳細

[Function Details (関数の詳細)] は、ユーザーが選択した関数 / イベントと、選択したその関数 / イベントを実行するために呼びだされた関数の関係を表示します。これらの関係は、パーセント値に合わせてスケールされたボタンを使って表示されます。

ユーザーは上から下までイベントを簡単にたどって、パフォーマンス負荷の原因を探すことができます。[Function Details (関数の詳細)] ビューは メイン イベントグラフ と双方向で同期しているので、新規関数を選択すると メイン イベントグラフ でもその関数が選択されます。

[Function Details (関数の詳細)] は以下のエレメントで構成されています。

  • Calling Functions - 選択された関数を呼び出す関数を表示します。ウィジェットのサイズはパーセント値に基きます。

  • Current Functions - Main Event Graph イベントで現在選択されているイベント / 関数です。

  • Called Functions - 選択された関数に呼び出される関数です。ウィジェットのサイズはパーセント値に基きます。

    • IconCulled.png - これが表示されると、イベントは [Main Event Graph] ウィンドウでカリングされます (詳細は次のセクションで説明します)。

    • IconFiltered.png - これが表示されると、イベントは [Main Event Graph] ウィンドウでフィルタがかけられます (詳細は次のセクションで説明します)。

アイコンにカーソルを合わせると、その項目の追加情報が表示されることを覚えておいてください。

メイン イベントグラフ

メイン イベントグラフ ウィンドウは、イベント実行パスを表示します。ルートは 1 つではありませんが、スレッドにはそれぞれの開始イベントがあります。通常これは、名前の「スレッド」または「0x1234」などの数字の ID で示されます。

メイン イベントグラフ でフィルター、カリング、その他多くの関数の利用が可能になります。これらの関数は、 メイン イベントグラフ右クリック し、表示されたコンテキスト メニューから希望するアクションを選択すると利用できます。以下が説明です。

オプション

説明

Selection

選択したイベント名を表示します。

EG_Menu_Icon_Root.png

Set Root - 選択したイベントにルートを設定して階層ビューに切り替えます

EG_Menu_Icon_Culling.png

Cull Events - 「ColumnName」に合わせた「値」にイベントをカリングします。カラム「Inc Time (MS)」に対してのみ使用できます。これらのイベントはグラフから削除され、それぞれの親が (IconCulled.png)(w:20 convert:false) アイコンを表示します。操作がしやすいように、ユーザーはこのアイコンを押せばカリング処理されたイベントをリストアすることができます。カリングが利用できない場合は、このオプションはグレイアウトされます。

EG_Menu_Icon_Filtering.png

Filter Events - 「ColumnName」に合わせた「値」にイベントをフィルタします。[Inc Time (MS)]、[Exc Time (MS)]、[Calls] 欄に対してのみ利用できます。これらのイベントはグラフではグレイで表示されます。フィルタリングが利用できない場合は、このオプションはグレイアウトされます。

EG_Menu_Icon_Reset.png

Reset to Default - 選択したイベントグラフの ルートカリングフィルタ をデフォルトステートにリセットしてアクション履歴をクリアします。

EG_Menu_Icon_Expand.png

Expand All - すべてのイベントを展開します。

EG_Menu_Icon_Collapse.png

Collapse All - すべてのイベントを折りたたみます。

EG_Menu_Icon_ExpandSelection.png

Expand Selection - 選択したイベントの子を展開します。

EG_Menu_Icon_CollapseSelection.png

Collapse Selection - 選択したイベントの子を折りたたみます。

EG_Menu_Icon_ExpandThread.png

Expand Thread - 選択したスレッドの子を展開します。

EG_Menu_Icon_CollapseThread.png

Collapse Thread - 選択したスレッドの子を折りたたみます。

EG_Menu_Icon_ExpandHotPath.png

Expand Hot Path - 包括時間に基いて選択したイベントにホットパスを展開して、包括時間の降順ソートを有効にします (パフォーマンス負荷が最も大きいパスです)。

EG_Menu_Icon_HierarchicalView.png

Show in Hierarchical View - 階層ビューに切り替えて、選択したイベントを展開します

EG_Menu_Icon_FlatInclusiveView.png

Show in Flat Inclusive View - フラットな包括表示に切り替えて、包括時間による降順ソートを有効にします。

EG_Menu_Icon_FlatInclusiveView2.png

Show in Flat Inclusive Coalesced - フラットな結合表示に切り替えて、包括時間による降順ソートを有効にします。

EG_Menu_Icon_FlatExclusiveView.png

Show in Flat Exclusive View - フラットな排他表示に切り替えて、排他時間による昇順ソートを有効にします。

EG_Menu_Icon_FlatExclusiveCoalesced.png

Show in Flat Exclusive Coalesced - フラットな排他表示に切り替えて、包括時間による昇順ソートを有効にします。

EG_Menu_Icon_CopyToClipboard.png

Copy to Clipboard - 選択内容をクリップボードにコピーします。

EG_Menu_Icon_SelectStack.png

Select Stack - スタックのすべてのイベントを選択します。

EG_Menu_Icon_SortBy.png

Sort By - 指定コラムでソートし、ソートモードの変更ができるメニューを表示します。

EG_Menu_Icon_ViewColumn.png

View Column [利用可能なコラムリスト] - コラムの表示 / 非表示を可能にするメニューを表示します。

EG_Menu_Icon_ResetColumns.png

Reset Columns to Default - コラムをデフォルト設定にリセットします。.