はじめに
このドキュメントでは、シーンのパフォーマンスを最適化する方法について説明します。
Aximmetryはリアルタイムレンダリングのため、各フレームのレンダリング時間に制限があります。この点を常に念頭に置いて作業してください。
システム要件についてはこちら こちらをご覧ください。
パフォーマンステストは、本番環境と同じ設定で行なうことを強く推奨します:
- 同じ解像度
- 類似のカメラ角度
- 入力と出力の同じ数と解像度
- Aximmetry内の同じエフェクト
GPU負荷を80%未満に抑えることを推奨します。Windowsがリソースを一時的に奪うことがあるため、フレーム落ちを回避するためです。
モデル
シーンにモデルを作成または読み込む際は、ポリゴン数を適切に保つことを推奨します。スキャンまたはスカルプトしたモデルを使用しないようにしてください。これらのモデルは通常、ポリゴン数が非常に多いためです。
一部のハイポリゴンモデルは問題ありませんが、要件が急激に増加するため注意が必要です。
不要なハイポリゴンモデルの例を以下に示します:
ワイヤーフレーム シェード
別の例を以下に示します:
ご覧の通り、ポリゴン数を削減してもシェード表示にほとんど差はありません。
テクスチャ
テクスチャもシーンの最適化に重要な役割を果たします。VRAMをテクスチャで過剰に消費すると、レンダリングが非常に遅くなります。
避けるべきポイント
- 必要ない場合に大きなテクスチャを使用しない
- 例えば、カメラから遠く離れたオブジェクトでズームインしない場合、4Kテクスチャを使用するのは過剰です。
- 単色マップにテクスチャを使用する
- 例えば、オブジェクトが完全に金属製または均一な粗さの場合、テクスチャを使用する必要はありません。代わりにメタルネス/粗さ値を使用できます
- Solid Color ノードを使用してオブジェクトのベースカラーを変更することで、テクスチャが使用するVRAMをさらに削減できます。
- ライトマップに32ビットテクスチャを使用する
- 16ビットテクスチャで十分です。ライトマップに関する詳細 here.
- マスクに1チャンネル以上を使用する
- マスクには単一チャンネルで十分です。
シェーダー
シェーダーを選択する際は、要件を超えない範囲で適切なものを選ぶことが重要です。具体的には、ノーマルマップを使用しない場合、ノーマルマップを必要とするシェーダーを追加する意味はありません。
デフォルトでは、各シェーダーの透明度は「None(0)」に設定されています。透明化が必要なシェーダーのみを変更することを推奨します。透明なシェーダーはレンダリングに大幅に時間がかかります。
オブジェクトの統合
以前に、モデルをAximmetryにインポートする際のオブジェクト数の削減について説明しました here .
オブジェクト数を削減することは、作業の効率化だけでなく、CPU側のパフォーマンス向上にも役立ちます。
ライトとシャドウ
先ほど述べたように、ダイナミックライトを過剰に使用しないことを推奨します。ダイナミックライトはレンダリングに時間がかかります。
レンダリング時にシャドウを過剰に設定しないことも推奨します。一部のライトの「Cast Shadow」プロパティをオフにできます。
ビルボード
ビルボードのレンダリングにもパフォーマンスが必要です。必要最小限の使用に留めてください。例えば、1つのビルボードに2人の人物を配置できます。
効果
効果の品質と数は、シーンのパフォーマンス要件に大きく影響します。使用される効果の数を減らすか、またはその品質を低下させることを試してみてください。
レンダリングに負荷がかかる効果:
- ブラー - Blurrer モジュールの品質または数を減らすことを試してみてください
- トーンマッピング - シーンで必要かどうかを確認し、不要な効果(streaksやglaresなど)をオフにしてみてください
- 平面反射 - 解像度を低下させ、使用数を制限してください。詳細はこちら here .
- アンチエイリアシング - 数と品質を低下させてください
- テクスチャ操作 - 静的テクスチャの場合、テクスチャに対するリアルタイム操作の数を最小限に抑えてください。リサイズ、ブラー、色調整、ミップマップ生成など。
- これらの操作はすべてAximmetryで実行でき、変更した画像をハードドライブに保存し、その画像を使用できます。
Aximmetryでは、各効果は各フレームで計算されます。しかし、ほとんどのケースでは再計算する必要はありません。
- 例えば、静止画像のボケは各フレームで計算する必要はありません
この場合、Pass on Change Holder コンパウンドを、こちらで説明されているように使用できます。