# Highlights Profiler モジュールのリファレンス

> Monitor whether your application meets its target frame rate.

Highlights Profiler モジュールは、アプリケーションがターゲットのフレームレートを満たしているか、そのパフォーマンスが CPU と GPU のどちらによって制限されているかについて、情報を表示します。これは、アプリケーションが CPU 依存か GPU 依存か、および潜在的なパフォーマンスの問題についてどこから調査するべきかについて、判断する際に役立ちます。

このモジュールはデフォルトでは無効です。Highlights Profiler モジュールを有効にするには、[プロファイラーモジュールのアクティベート](/engine/6000.0/manual/analysis/profiler/collect-data/visualizing-data/modules-activate.md)を参照してください。

## Chart

Highlights チャートでは、アプリケーションのターゲットフレームレートを超えたフレームにフラグが設定されます。この情報は 2 つのレーンにマーカーで示されます。

| **値**   | **説明**                              |
| ------- | ----------------------------------- |
| **CPU** | CPU がターゲットのフレーム時間を超えたフレームに赤いマーカーを表示 |
| **GPU** | GPU がターゲットフレーム時間を超えたフレームに黄色のマーカーを表示 |

チャート内の任意のフレームにカーソルを合わせると、CPU と GPU の時間など、フレームについての短いサマリーを表示できます。

## ターゲットのフレーム時間

ドロップダウンを使用して、アプリケーションの 1 秒あたりのターゲットフレーム数 (FPS) を設定します。プリセット値から選択するか、**Custom** を選択して独自の値を設定します。**Custom** を選択すると、[Profiler Preferences ウィンドウ](/engine/6000.0/manual/analysis/profiler/preferences-reference.md)が開きます。

## 詳細ペイン

Highlights チャートでフレームを選択すると、モジュールの Details ビューにフレームの詳細情報が表示されます。

**CPU Active Time** (CPU アクティブ時間) と **GPU Time** (GPU 時間) は、ターゲットのフレーム時間と相対的な棒グラフとして表示されます。フレームレートのターゲットを達成するには、CPU アクティブ時間と GPU 時間をターゲットのフレーム時間未満に維持する必要があります。CPU と GPU の両方に、処理を完了するためのフレーム時間がそれぞれ個別にあるのは、Unity エンジンは最適なパフォーマンスを達成するために CPU と GPU の処理を並行して行うからです。

パフォーマンスの調査を開始するには、チャートを選択して CPU Timeline または Frame Debugger (フレームデバッガー) をそれぞれ開きます。

### CPU アクティブ時間

CPU アクティブ時間は、CPU が該当のフレームを処理していた、フレーム内の継続時間です。Unity では、メインスレッドと描画するスレッド間の最長のスレッド継続時間からスレッドの待機時間を差し引くことで、この値が計算されます。

つまり、メインスレッドでは、スレッドでの実際の処理を表す VSync 関連のマーカー (`WaitForTargetFPS` や `Gfx.WaitForPresentOnGfxThread` など) を差し引いて、スレッドのアクティブ時間を計算します。描画するスレッドでは、マーカー `Gfx.WaitForGfxCommandsFromMainThread` で示されているとおりコマンドの待機にかかった時間を差し引いて、スレッドのアクティブ時間を計算します。

描画するスレッドでメインスレッドよりも時間がかかった場合は、CPU アクティブ時間が [CPU Usage モジュール](/engine/6000.0/manual/analysis/profiler/collect-data/visualizing-data/cpu/cpu.md)の Timeline ビューに表示される CPU 時間の値よりも長くなることがあります。これは、Timeline ビューに表示されるのがメインスレッドのフレームの開始と終了であるためです。

### GPU 時間

GPU 時間は、あるフレームに対して GPU が最初のコマンドを送信してから、そのフレームでの処理を完了するまでの継続時間です。

次に実施するべきステップとパフォーマンス調査の開始場所に関する説明は、右側のパネルを確認してください。

## 追加リソース

* [Profiler ウィンドウのリファレンス](/engine/6000.0/manual/analysis/profiler/window-reference.md)
* [パフォーマンスデータ収集の概要](/engine/6000.0/manual/analysis/profiler/collect-data/profiling-collect-data-introduction.md)
* [プロファイラーモジュールの概要](/engine/6000.0/manual/analysis/profiler/collect-data/visualizing-data/modules-introduction.md)
