イベントビューアー
Addressables アセットのメモリ管理を監視するには、Addressables Event Viewer (Addressables イベントビューアー) ウィンドウを使用します。このウィンドウには、アプリケーションでアセットがいつロードされ、いつアンロードされたかと、Addressables システムのすべての操作の参照カウントが表示されます。また、アプリケーションのフレームレートと、割り当てられたマネージメモリの合計サイズの概算ビューも表示されます。これらのチャートを使用して、アセットのロードや解放などの Addressables イベントが、アプリケーションのパフォーマンスにどのように影響するかを検出したり、解放されることのないアセットを検出したりできます。
再生モードのイベントビューアーで最も正確な情報を得るには、Use Existing Build (既存のビルドの使用) 再生モードスクリプトを使用します。Use Asset Database (アセットデータベースの使用) スクリプトでは、アセット間で共有される依存関係が明確になりません。また、Simulate Groups (グループのシミュレーション) スクリプトでは、参照カウントの監視がそれほど正確ではありません。
Important
イベントビューアーでデータを表示するには、AddressableAssetSettings オブジェクトのインスペクターで Send Profiler Events (プロファイラーイベントの送信) 設定を有効にし、新しいコンテンツビルドを作成する必要があります。
Addressable アセットに関連付けられたメモリの管理の詳細については、[メモリ管理] を参照してください。
Addressables イベントの表示
Addressables アセットの存続期間チャートとイベントを Event Viewer ウィンドウに表示するには、以下のステップを実行します。
Addressables 設定で Send Profiler Events を有効にします。 a. Addressables 設定インスペクター (メニュー: Window > Asset Management > Addressables > Settings) を開きます。 b. Diagnostics の下の Send Profiler Events オプションをオンにします。
Addressables Groups ウィンドウで、Default Build Script を使用して Addressables コンテンツを再ビルドします。
- イベントビューアー (メニュー: Window > Asset Management > Addressables > Event Viewer) を開きます。
- エディターで再生モードにします。
スタンドアロンプレイヤーでの Addressables イベントの表示
イベントビューアーをスタンドアロンプレイヤーに接続するには、[Addressables イベントの表示] のステップに従います。ただし、最後のステップ (エディターで再生モードにする) は実行しません。代わりに、以下の追加ステップを実行します。
- Build Settings (ビルド設定) ウィンドウ (メニュー: File > Build Settings) を開きます。
- Development Build (開発ビルド) オプションをオンにします。
- Autoconnect Profiler (自動接続プロファイラー) オプションをオンにします。
- Unity の Profiler (プロファイラー) ウィンドウ (メニュー: Window > Analysis > Profiler) を開きます。
- Build Settings ウィンドウで Build and Run (ビルドして実行) をクリックします。
イベントビューアーがスタンドアロンプレイヤーに自動的に接続され、発生する Addressables イベントが表示されます。
Unity プロファイラーの使用の詳細については、[プロファイラー概要] を参照してください。
Event Viewer ウィンドウ
エディターでこのウィンドウにアクセスするには、Window > Asset Management > Addressables > Event Viewer を選択します。
Event Viewer ウィンドウ
このウィンドウには、3 つのセクションがあります。
ツールバー:
- Clear Events ボタン: 記録されたフレームをすべて消去して、ウィンドウの内容をすべて消去します。
- Unhide All Hidden Events: 非表示にしていたアセットまたは操作のライフラインをすべて、通常の表示された状態に戻します。非表示にしたイベントがある場合にのみ表示されます。
- Frame カウンター: フレームカーソルの位置と、記録されたフレームの数を表示します (ツールバーに Frame カウンターが表示されない場合は、現在のフレームにフレームカーソルがあります)。
- フレームステップ (<>) ボタン: 記録されたフレームを順番に 1 つずつ表示します (キーボードの矢印キーも使用できます)。
- Current ボタン: 現在のフレームにカーソルを移動します。
Assets 表示: Addressables の操作とアセットに関連するプロファイラーと存続期間チャートを表示します。
- FPS チャート: アプリケーションのフレームレートを示します。
- MonoHeap チャート: 使用中のマネージメモリの量を示します。
- Event Counts: 1 つのフレーム内で発生した Addressables イベントの数を示します (イベントは Event リストに表示されます)。
- Instantiation Counts: 1 つのフレーム内での Addressables.InstantiateAsync の呼び出しの数を示します。
- 操作とアセットの存続期間チャート: 操作またはアセットがシステムによっていつロードされ、いつ解放されたかを示し、それらの参照カウントを表示します。[アセット存続期間チャート] を参照してください。
Event リスト: フレーム内で発生した Addressable 操作イベントを表示します。
ウィンドウのチャートの領域内をクリックすると、アプリケーションを一時停止させ、フレームカーソル の位置を設定することができます。フレームカーソルはウィンドウで縦線として表示され、選択したフレームのサマリー情報を示します。
Note
FPS チャートと MonoHeap チャートには、Addressable アセットに関連する要素だけでなく、パフォーマンスに影響するすべての要素が含まれます。
アセット存続期間チャート
アセット存続期間チャートには、アセットまたは操作がいつ作成されたか、その現在の参照カウント、および、いつ破棄されたかが表示されます。
アセットまたは操作の存続期間を示す表示線を拡大するには、Assets (アセット) リストで、そのエントリーの + ボタンをクリックします。
エントリーのサブ操作またはサブアセットを表示するには、その親オブジェクトの拡大アイコン (>) をクリックします。
アセットまたは操作のライフラインをチャートから削除するには、ライフラインを右クリックし、コンテキストメニューで Hide Selected Events を選択します。ツールバーの Unhide All Hidden Events ボタンをクリックすると、非表示にしたイベントのライフラインがすべて表示されます。
アセット存続期間と関連 Addressables イベントの例
存続期間チャートには、以下の情報が含まれます。
アセットがロードされる前 (表示なし)。
アセットのロードが進行中 (くすんだ青色)。
アセットがロード済み (青色)。緑色のバーは、アセットの現在の参照カウントを示します。
イベントビューアーのフレームカーソル。選択したフレームの情報を示します。この例では、選択したフレームでのこのアセットの参照カウントが 4 であることを示しています。
アセットが破棄され、アンロードされた後 (表示なし)。
特定のフレームに関連付けられたイベント (イベントはフレームカーソルの位置にのみ表示)。