負荷表示が何を測っているのか
このページは解説です。実際に軽くするにはビルド時の自動最適化をご覧ください。
一行まとめ
インスペクターの負荷表示は、アップロード後にベイクされたマテリアルの相対負荷の予想値です。 最も重い基準プロファイルを100%とした計算モデルの推定値で、実際の GPU 使用率ではありません。 Manager の 開始 タブの 現在の負荷 は MingToon マテリアルの平均です。変更が止まって10秒後に再計算し、複数キャラクターの選択時は表示しません。
この数値でできることとできないこと
| できること | できないこと |
|---|---|
| 同じアバターの中でどのマテリアルが重いかを比較する | フレーム時間が何倍になるかを換算する |
| モジュールを切ったときに予想負荷が下がったか確認する | GPUのミリ秒やSetPass数の代わりに読む |
| テクスチャメモリの予想値をマテリアル同士で比較する | アバター全体の負荷を最高値で判断する |
計算モデルは特定のBuilt-inベンチマーク環境に合わせてあります。 画面占有率、重なり、ライト数、GPU、レンダーパイプラインによって実際の負荷は変わります。
負荷パネルの読み方
詳細インスペクター上部の負荷メニューから 負荷の詳細 を開きます。詳細には基準プロファイル、2つの推定カード、アップロード内訳表があります。
| 表示 | 読み方 |
|---|---|
| アップロード後の推定 | 選択マテリアルのベイク状態の平均推定負荷 |
| 編集中の推定 | 選択した編集用マテリアルの平均推定負荷 |
| アップロード内訳・選択中の最大 | 最も重い選択マテリアルのモジュール別寄与 |
| モジュール寄与(アップロード合計比) | 基本シェーダー・補正を含むアップロード全体に対する割合 |
モデルは編集状態とベイク予想状態を分けて計算します。 命令数、常に実行されるテクスチャ読み取り、レジスタ使用量、パス数が含まれます。
レイヤーは、スロット数ではなく実際の使用数と実行条件を合わせて見ます。 スロットが10個あるからといって、毎ピクセル10枚を読むとは計算しません。 逆に、強度が0でもコードが消えるわけではありません。実行時に変更する値は残しておくためです。
そこから生じる制約
- カメラ深度を確保するシーン全体の負荷は、マテリアルの倍率には含まれません。深度効果を初めて有効にしたときの変化は、実際のシーンで比較する必要があります。
- アニメーションやスクリプトで変更する色補正は、ベイク後も動作しなければならないため定数に畳み込まれません。その分の予想負荷が残ります。
- 予想等級が下がっただけでは改善を確定できません。同じカメラ・距離・照明で実際のビルドを比較してください。