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

ゲーム パフォーマンスの監視に使われるプロファイラ ツールの概要

Choose your operating system:

Windows

macOS

Linux

Profiler_Header.png

プロファイラ は Unreal Engine 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 (イベント グラフ)] ウィンドウには、選択したフレーム (複数可) がイベントグラフとして表示されます。

メイン ツールバー

Profiler_MainToolbar.png

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

オプション

説明

LoadIcon.png

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

SaveIcon.png

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

DataPreviewIcon.png

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

DataPreviewIcon.png

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

DataCaptureIcon.png

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

StatisticsIcon.png

Stats Profiler を有効にします。

FPSChartIcon.png

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

SettingsIcon.png

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

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

フィルタとプリセット

FilterPresetsWindow.png

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

オプション

説明

Search Box (1)

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

Group By (2)

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

Sort By (3)

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

Stats/Groups Window (4)

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

Icon_Hier.png

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

Icon_Float.png

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

Icon_Int.png

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

Icon_Mem.png

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

統計情報のトラック方法

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

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

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

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

StatDragAndDrop.png

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

StatsWindowStatTracked.png

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

MainWindowStatTracked.png

上図の 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 (データグラフ)] ウィンドウを 右クリック しても、コンテキスト メニューにオプション情報がついて表示されます。

DataGraphContextMenu.png

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

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

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

イベントグラフ

EventGraphView.png

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

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

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

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

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

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

EventGraphToolBar.png

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

オプション

説明

EG_Icon_OneFrame.png

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

EG_Icon_Average.png

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

EG_Icon_Maximum.png

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

EG_Icon_Hierarchical.png

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

EG_Icon_Hierarchical.png

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

EG_Icon_Inclusive2.png

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

EG_Icon_Exclusive.png

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

EG_Icon_Exclusive2.png

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

EG_Icon_HistoryBack.png

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

EG_Icon_HistoryForward.png

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

EG_Icon_HistoryMenu.png

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

EG_Icon_HotPath.png

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

関数の詳細

[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] ウィンドウでフィルタがかけられます (詳細は次のセクションで説明します)。

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

メイン イベントグラフ

MainEventGraphWindow.png

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

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

EventGraphContextMenu.png

オプション

説明

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 - コラムをデフォルト設定にリセットします。.

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル