ビューポート 2.0 を最適化する

シーンの複雑さを最適化する

高解像度テクスチャなどの多数のオブジェクトがシーンに含まれている場合や、大量の GPU RAM を使用する他のアプリケーションを同時に実行する必要がある場合は特に、ここに記載されたガイドラインに従ってビューポート 2.0 を最適化してください。

GPU インスタンス化(GPU Instancing)を有効にする

GPU インスタンス化(GPU Instancing)機能は、ハードウェア インスタンス化を使用して、同じマテリアルを使用する Maya シェイプの多数のインスタンスをレンダーします。この機能を使用すると、グラフィックス カードの計算時の負荷が小さくなり、大量のジオメトリを含むシーン、または GPU メモリに収まらないキャッシュ済みアニメーションを含むシーンのパフォーマンスが大幅に向上します。

統合ワールド(Consolidate World)

統合ワールド(Consolidate World)は、カメラ ビュー内のすべてのジオメトリ オブジェクトを結合して、グラフィックス カードに対する呼び出し数を減らすことによって、パフォーマンスを高めます。このオプションは、既定でオンになっています。

統合ワールド(Consolidate World)機能を最適化するには、同じようなシェーダをできる限り再利用します(特に、小さい静的なオブジェクトの場合)。このためには、ファイル > シーン サイズの最適化(File > Optimize Scene Size) > を選択して重複情報の除去(Remove duplicate): シェーディング ネットワーク(Shading networks)オプションを有効にします。 統合を最大限に活用にするには、パネル(Panel)メニューシェーディング > 既定のマテリアルの使用(Shading > Use Default Material)を選択して、ビューポート内の 1 つのマテリアルを自動的に使用します。マテリアルがワークフローにとって重要でない場合にこの機能を使用すると、低速なシーンのパフォーマンスが大幅に向上します。

注: 統合ワールド(Consolidate World)を有効にすると、グラフィックス カードのメモリ使用量が増えます。詳細については、「ビューポート 2.0 の GPU メモリを管理する」を参照してください。

アルファ カット(Alpha Cut)透明度を使用する

ビューポート 2.0 オプション(Viewport 2.0 options)アルファ カット 透明度アルゴリズム(Alpha Cut > Transparency Algorithm)を選択します。このオプションを使用すると、パフォーマンスに影響を与えることなく透明度の品質を高めることができます。アルファ カット(Alpha Cut)は、完全に透明なオブジェクトまたは完全に不透明なオブジェクトに対して最適に機能します。

テクスチャで使用されるメモリ量を減らす

高解像度テクスチャで使用されるメモリ量を減らすには、ビューポート 2.0 オプション(Viewport 2.0 options)テクスチャ解像度のクランプ(Clamp Texture Resolution)をオンにします。自動(Automatic)に設定すると、テクスチャを自動的にダウンサンプリングしてメモリを節約することができます。カスタム(Custom)に設定して、最大解像度を特定の値に設定することもできます。この最大解像度を超えるすべてのユーザ テクスチャはダウンサンプリングされます。

スムース メッシュ プレビューを使用する

パフォーマンスを高速化するには、スムーズ メッシュ デフォーマではなくスムーズ メッシュ プレビュー(Smooth Mesh Preview)を使用します。 GLSL シェーダや HLSL シェーダなどのリアルタイム シェーダでテッセレーションが有効な場合、これらの改善の効果は小さくなります。

ビューポートのエフェクトを管理する

これらのすべての機能を同時に使用すると、パフォーマンスが低下することがあります。

  • マルチサンプル アンチエイリアシングの有効化(Multisample Anti-aliasing Enable)
  • スクリーンスペース アンビエント オクルージョン(Screen-space Ambient Occlusion)
  • 浮動小数点レンダー ターゲット(Floating Point Render Target)

シャドウを無効にすると、これらの速度低下を改善できます。原則として、これらのオプションは、視覚的な精度を高める場合にはオンにし、パフォーマンスを向上させる場合はオフにしてください。

ビューポート 2.0 を一時停止する

複雑なシーンのロード時間を短縮するには、プリファレンス(Preference)ウィンドウの表示(Display)カテゴリでビューポート 2.0 を一時停止(スタートアップ)(Pause Viewport 2.0 (startup))オプションを有効にします。こうすると、シーン内で変更を加えたときに、ビューポートが更新されるまで待機する必要がなくなります。ステータス ラインでこの アイコンをクリックして、ビューポート 2.0 を一時停止することもできます。

GPU メモリの使用量を最適化する

大量のテクスチャ、ジオメトリ、またはキャッシュされたアニメーションを含むシーンをプレビューする場合は、ビューポート 2.0 で使用されるメモリの量を管理することが重要です。「ビューポート 2.0 の GPU メモリを管理する」を参照してください。

アニメーション用に最適化する

シェーダとテクスチャの最適化

DirectX 11 シェーダ

  • DirectX 11 AutodeskUberShader を操作する場合、mip map の生成は既定で有効になり、遠方のオブジェクトのテクスチャリング品質が向上します。mip map の生成を無効にするとパフォーマンスは向上しますが、遠方のテクスチャのモアレ パターンが表示される場合があります。<maya directory>¥presets¥HLSL11¥examples¥AutodeskUberShader.fxo ファイルで、#define NumberOfMipMaps 1 を設定します。
  • dx11Shader ノードは、コンパイルされていない(.fx)エフェクトとコンパイルされている(.fxo)エフェクトの両方をサポートします。大きいシーンや複雑なシェーダでは、コンパイルされたエフェクトのみ使用してください。

テクスチャ

  • サポートされていないテクスチャ タイプは、ビューポート 2.0 で内部的にベイク処理されます。パフォーマンスを最適化するには、サポートされていないテクスチャを使用しないでください(「ビューポート 2.0 の制限事項」を参照)。

    ビューポート 2.0 でネイティブにサポートされていない 3D テクスチャがシーンに含まれている場合は、ビューポート 2.0 オプション(Viewport 2.0 options)サポートしていないテクスチャ タイプのベイク解像度(Bake Resolution for Unsupported Texture Types)で低いベイク解像度値を使用して、これらのテクスチャのベイク処理時間の増大を防止することができます。

    ビューポート 2.0 の内部テクスチャ ベイク」を参照してください。

  • テクスチャ サイズは、2 の累乗(256、512、1024 など)にする必要や 2 乗である必要はありません。2 の累乗の寸法のテクスチャでは、パフォーマンスの利点は必ずしも得られません。

最適化に関するその他のヒント

particleSamplerInfo ノードを使用する

particleSamplerInfo ノードで作業を行う場合、最適なパフォーマンスのために、パーティクルのサンプラから不要なパーティクル単位のアトリビュートを接続解除して、必要なパーティクル単位のアトリビュートだけを残します。多数のパーティクル単位のアトリビュートが必要である場合は、レンダリング エンジンとして OpenGL ではなく DirectX 11 を使用します。OpenGL を使用する必要がある場合は、テクスチャ座標の頂点の数を増やすためにハイエンドのグラフィックス カードを使用することができます。

関連項目