Virtual Texturing プロファイラーモジュールは、アプリケーションの ストリーミング仮想テクスチャリング (SVT) に関する統計情報を表示します。仮想テクスチャリングは、アプリケーションが使用する GPU メモリの量を減らし、シーンに高解像度のテクスチャが多数ある場合に、アプリケーションのテクスチャのロード時間を短縮します。
Profiler ウィンドウを開くには、メニュー: Window > Analysis > Profiler の順に移動します。
注意Virtual Texturing プロファイラーモジュールを使用するには、プロジェクトの Player Settings で Virtual Texturing (Edit > Project Settings > Player > Other Settings) を有効にする必要があります。
チャートには、アプリケーションの実行中に画面上に表示されるテクスチャタイルの情報と、テクスチャが使用するメモリの量が表示されます。Virtual Texturing モジュールを選択すると、Profiler ウィンドウの下ペインに、仮想テクスチャが使用するキャッシュサイズなどの統計情報が表示されます。
Virtual Texturing プロファイラーモジュールの表は、以下のカテゴリーに分かれています。
| Chart | 説明 |
|---|---|
| Required Tiles | 画面上に表示されるテクスチャタイルの数。これらのタイルは、シェーダーが現在のフレームをレンダリングするためにサンプリングしようとするタイルです。 |
| Max Cache Mip Bias | 同じテクスチャ形式のすべてのテクスチャに適用される自動ミップマップバイアス。この値がゼロでない場合、キャッシュは、表示されているその形式のすべてのタイルを保持するのに十分な大きさではありません。ミップマップバイアスが大きいほど、テクスチャの品質は低くなります。 |
| Max Cache Demand | 選択したフレームのすべての GPU キャッシュで最大のキャッシュ要求。 |
| Missing Streaming Tiles | 画面上には表示されるが、ビデオメモリには含まれないタイルの数。アプリケーションは、これらのタイルをディスクからストリームするか、メインメモリから可能な限り早くコピーします。 |
| Missing Disk Data | 現在のフレームを満たすために、アプリケーションがディスクから読み取る必要のある残りのデータ (単位はバイト)。 |
Virtual Texturing プロファイラーモジュールをクリックすると、ウィンドウ下半分の詳細ペインに、詳細な統計情報が表示されます。これらの統計情報は、ProfilerRecorder API や Profiler Module Editor でも利用でき、カスタムのプロファイラーモジュール に追加することができます。
詳細ペインに表示される統計情報は以下の通りです。
| 統計 | 説明 |
|---|---|
| System Statistics | 詳細ペインのこのセクションには、アプリケーションのテクスチャタイルと、プロファイラーのキャプチャ中にそれらが使用したリソースに関する情報が表示されます。これらの統計は、プレイヤービルドと Unity エディターのプロファイリング再生モードの両方で使用できます。 |
| Tiles required this frame | 画面上に表示されるテクスチャタイルの数。これらのタイルは、シェーダーが現在のフレームをレンダリングするためにサンプリングしようとするタイルです。これらのタイルがすべて GPU キャッシュにある場合、キャッシュサイズに対して可能な限り高いテクスチャ品質でフレームをレンダリングします。 シーンがフリーズしていない限り、タイルの一部は GPU メモリ内にまだありません。この場合、高品質のサンプルがメモリに到着するまで、仮想テクスチャリングのサンプルには、メモリ内にある高解像度のミップマップから低品質のサンプルを使用します。 キャッシュのミップマップバイアスは、必要なタイルの数に影響します。すべてのキャッシュのミップマップバイアスが 0 でない場合、必要なタイルの数が最適なテクスチャ品質よりも少なくなります。 |
| Max Cache Mip Bias | ミップマップバイアスが最も高い GPU キャッシュのミップマップバイアス。これがゼロでない場合、キャッシュの少なくとも 1 つは、現在のフレームを最適なテクスチャ品質でレンダリングするために必要なすべてのテクスチャタイルを保持するのに十分な大きさではありません。 |
| Max Cache Demand | このフレームのすべての GPU キャッシュで最大のキャッシュ要求。GPU 使用率で表されます。最大の要求を持つ GPU キャッシュは、キャッシュのミップマップバイアスを避けるためにサイズの拡大が必要になる可能性があります。 Max Cache Demand 統計の使用率が低い場合は、レンダリングする解像度とコンテンツに対してキャッシュが大きすぎる可能性があります。この場合の主な欠点は、アプリケーションが必要以上の GPU メモリを使用することですが、アプリケーションがメモリに制約を受けていない場合は問題ありません。 |
| Total CPU Cache Size | ディスクからテクスチャタイルをロードした後に、保存されたテクスチャタイルに割り当てるメモリの量。 |
| Total GPU Cache Size | Virtual Texturing モジュールが選択されたフレームで割り当てたすべての GPU キャッシュのサイズ。Unity は、そのテクスチャ形式のテクスチャを使用するマテリアルがレンダリングされたときにのみ、GPU キャッシュを作成します。 |
| Atlases | 仮想テクスチャスペースまたはアトラスの数 (最大64)。Unity は、仮想テクスチャリングでストリームされたテクスチャを大規模な仮想テクスチャ空間にアトラス化します。これは自動的かつ透過的に行われます。 |
| Player Build Statistics | 詳細ペインのこのセクションには、アプリケーションビルドをプロファイルするときにのみ使用可能なアプリケーションのテクスチャタイルに関する情報が表示されます。 |
| Missing Disk Data | 現在のフレームを満たすために、アプリケーションがディスクから読み取る必要のある残りのデータ (単位はバイト)。表示されなくなった前のフレームのリクエストから、さらに多くのディスク読み取りリクエストがキューされている可能性があります。そのため、これは新しいタイルが表示されなくなった場合にディスクから読み取られるデータの最小量です。アプリケーションが読み取る実際のデータ量は、これよりも多くなる可能性があります。 |
| Missing Streaming Tiles | 現在、画面上に表示されているが、まだメモリに入っていないタイルの数。これらのタイルは、可能な限り早くディスクからストリーミングされます。この数値は、例えばカメラが移動する場合などに大きくなる可能性があります。シーンとカメラがフリーズし、新しいタイルが表示されない場合、この統計は 0 になります。 |
| Read From Disk | 選択したフレームで終了したディスク読み取り操作のバイト数。 |
| Per Cache Statistics | キャッシュに関する統計を取得します。アプリケーションのビルドをプロファイルする場合にのみ使用できます。 |
| Cache Format | アプリケーション内のテクスチャが使用する グラフィックス形式。 |
| Demand | 使用される各 グラフィックス形式 のキャッシュ要求量。注意この統計値は、カスタムプロファイラーでは利用できません。 |
| Bias | 各 グラフィックス形式 が使用するミップマップバイアスのキャッシュ量。注意この統計値は、カスタムプロファイラーでは利用できません。 |