Q100188: Mari および特定のプロジェクトのパフォーマンスの向上

まとめ

クリエイティブブリーフの要求はますます厳しくなり、ジオメトリの複雑さが増すにつれて、テクスチャマップの解像度もますます高くする必要があります。また、 Mariはグラフィックカードに大きく依存するため、負荷の高いプロジェクトでは過負荷になる可能性があることにもご注意ください。

これを念頭に置いて、 Mari使用する際に、ペイント処理をできるだけスムーズに行うには、マシンのパフォーマンスを最適化して最大限に引き出すことが重要です。

これを実現するためにできることはたくさんあります。この記事では、 MariとOSの機能それぞれについて詳しく説明していきます。まず、プロジェクトを最適化するためのベストプラクティスを紹介し、次に最適なパフォーマンスを実現するためのMariの技術的かつ一般的な側面について解説します。

最適なパフォーマンスを実現するためのプロジェクトの設定

ノード

ベイクポイントノード:ノードネットワークが重い、または複雑すぎる場合、コンパイルに時間がかかり、パフォーマンスが低下する可能性があります。プロジェクトの応答性を良好に保つために、 ベイクポイントノードマルチチャンネルベイクポイントノードを使用してネットワークの一部をベイクし、パフォーマンスを向上させることができます。

プロシージャルノード:生のプロシージャルノードは複雑であるため、計算とレンダリングに大量のシステムメモリを必要とするため、あまり使用しないでください。可能な限り、ベイクポイントでベイクしてパフォーマンスを向上させましょう。

サイズと深度:ペイントノードでは、サイズと深度を不必要に高く設定しないでください。サイズは解像度を提供し、深度はステップ処理を防ぎ、マージ計算の精度を向上させます。ただし、ペイントバッファと同様に、ほとんどの場合、これらの設定は接続されているチャンネルよりも高く設定しないでください。

レイヤー

レイヤーのキャッシュ:レイヤーの数が多い場合や計算負荷の高いレイヤーはパフォーマンスを低下させる可能性があります。作業されていないレイヤーをキャッシュすることで、この問題を軽減できます。レイヤーをキャッシュするには、「レイヤー」メニューから「キャッシュ」>「レイヤーのキャッシュ」を選択するか、レイヤーを右クリックしてドロップダウンメニューから「キャッシュ」>「レイヤーのキャッシュ」を選択します。

シェーダー

複数のシェーダー設定:複数のシェーダー設定を作成し、必要に応じて切り替えることができます。例えば、ペイントや編集には軽めのシェーダー設定を使い、最終プレビューにはより本格的なシェーダー設定を使うといったことが可能です。

バンプ モード: シェーダの設定で、バンプ モードを「高速」に設定すると、「最終」ルックを使用するよりもプレビューに適しています。

ディスプレイスメントマップとバンプマップ:ディスプレイスメントマップを作成する場合でも、プレビューを高速化するために、シェーダーにバンプとして接続することをお勧めします。一般的に、ペイント中はバンプマップやディスプレイスメントマップをオンにしないでください。シェーダーで確認する必要がある場合は、チャンネルノードの直前にベイクポイントを追加してください。

オブジェクト

Mari 1つのプロジェクトに複数のオブジェクトを配置できますが、シーン内にオブジェクトが1つしかない場合にソフトウェアのパフォーマンスが最大限に発揮されるように設計されています。そのため、1つのプロジェクトに多数のオブジェクトを配置すると(可視性に関係なく)、パフォーマンスに指数関数的な悪影響を与える可能性があります。

画像マネージャー

プロジェクトで作業を進めると、画像マネージャーが数百枚の参照画像でいっぱいになることがよくあります。これらの画像はプロジェクトに埋め込まれているため、プロジェクトと一緒に保存する必要があります。プロジェクトの起動と保存に時間がかかったり、プロジェクトがディスク容量を大量に消費したりする場合は、画像マネージャーがプロジェクトのサイズを大きくしている可能性があります。

注意:イメージ マネージャ内のすべてのイメージを削除すると、イメージがまだディスク上に残っている限り、次にプロジェクトを開いたときに、手続き型ノードによって使用されているイメージが自動的に復元されます。


最適なパフォーマンスを得るためのMARI設定

プロジェクトの場所

プロジェクトキャッシュはSSD(ソリッドステートドライブ)にローカルに保存することを強くお勧めします。プロジェクトの場所は、 「編集」>「環境設定」>「データ」>「プロジェクト」>「プロジェクトの場所」で変更できます。

ビューポート

ビューポートが大きすぎると、レンダリングするピクセル数が増えるほどビューポートの速度が低下します。極端な場合は、一部のジオメトリを非表示にすることでフレームレートが向上する場合があります。

モニター

4Kモニター4Kモニターで作業する場合、 Mari従来のHDモニターよりも多くのピクセルをビューポートでレンダリングする必要があります。ビューポートでのレンダリング時間は、ピクセル数の少ないモニターを使用する場合よりも遅くなる可能性があります。

複数のモニター: ビューポートが複数のモニターにまたがる場合、GPU が同時に 2 つのディスプレイにパススルーする必要があるため、パフォーマンスがわずかに低下します。

編集> 設定 > GPUタブ

Mari 、ベイク処理やビューポートレンダリングといった重要なタスクを含むほとんどのプロセスでGPUを使用します。複雑なシェーダと低性能のGPUを組み合わせると、ビューポートのフレームレートが低下することがよくあります。グラフィックカードのリソースを管理することでパフォーマンスを向上させることができ、これはGPU設定を編集することで行えます。設定にマウスポインターを合わせるとツールチップが表示され、その影響を確認できますが、パフォーマンスに最も大きな影響を与えるのは以下の設定です。

ベイクと投影 > ミップマップ生成- 「高速」
線形化は実行されず、画像のネイティブカラースペースでダウンサンプリングが行われます。
これにより、バッファからキャンバスへのペイントのベイク処理などの処理が高速化されます。数学的に非線形であるため、誤差が生じる可能性がありますが、これはViewにのみ影響し、 Mariからエクスポートされる最終的なテクスチャには影響しません。

シャドウマップ > 許可- 無効
シャドウ マップを有効にすると、ビューポートでより正確な影を生成できますが、無効にするとシステム リソースが解放されます。

仮想テクスチャ > タイプ- 「バイト」
表示用にキャッシュされたチャンネルデータのデータ型を制御します。値を大きくすると、GPUメモリの消費量は増加しますが、表示される値の精度が向上します。

仮想テクスチャ > レイヤー数- 低い値
使用される仮想テクスチャ画像の数を制御します。この値を増やすと、テクスチャのちらつきの問題が解決され、モデルのタンブル速度が速くなる可能性があります。

シェーダー > コンパイルモード- 「自動」
デフォルトの自動モードはほとんどのMariセッションに最適ですが、特定のタスクでは他のモードの方が高速になる場合があります。詳細については、次の記事を参照してください: Q100308: Mariのシェーダーコンパイルモード

Windows - TdrDelay と TdrDdiDelay

Mariフリーズ現象は、Windows で設定されている TDR(Time Detection and Recovery)時間に関連しています。Mari Mari GPU を集中的に使用するため、一部の計算はデフォルトの TdrDelay 制限である 2 秒を超えることがあります。つまり、Windows が処理をキャンセルして GPU をリセットし、フリーズやクラッシュを引き起こす可能性があります。この問題を回避するには、レジストリで TdrDelay と TdrDdiDelay のタイムアウト値を増やすことができます。

TDR レジストリ キーとその編集方法の詳細については、次の記事を参照してください。
Q100688: Windows上でMariフリーズしたりクラッシュしたりするのを防ぐには、TDRレジストリキーを増やす必要があります。

Linux - 推奨ファイルシステム

Linux ユーザーは、EXT3 または EXT4 ファイル システムを使用するとパフォーマンスが大幅に向上することに気付くかもしれません。これは、 Mariプロジェクトを読み書きする方法に自然に適しているためです。

Mariプロジェクトを開いたり保存したりする際に、プロジェクトの場所と呼ばれるキャッシュディレクトリ内の非常に多くの小さなファイルを使用します。例えば、以前の Blacksmith Body のサンプルには、それぞれ 10~90 KB のファイルが 75,000 個ありました。

社内テストの結果、多数の小さなファイルを管理する場合、EXT3やNTFSなどのファイルシステムが最高のパフォーマンスを発揮することが示されています。XFSファイルシステムはそれほど適しておらず、ユーザーからはEXTに比べて速度が遅いという報告を受けています。そのため、 Mari現在、XFSファイルシステムの使用時に警告が表示されます。

ハードウェア

上記のすべてを試してもまだ速度が遅くなる場合は、次のことを試してください。

  1. どのMariコンポーネントが遅いかを特定する (ベイク速度、FPS、ディスクへの保存など)
  2. Mariそのコンポーネントに使用するハードウェア コンポーネント (GPU、VRAM、CPU など) を特定します。
  3. お使いのハードウェアの仕様を当社の推奨ハードウェアと比較してください
  4. 必要に応じてハードウェアを最適化またはアップグレードする

Mari各ハードウェア コンポーネントをどのように使用するか、またどのハードウェアが推奨されるかについては、次の記事を参照してください。

Q100078: Mariのハードウェアコンポーネントの使用方法
Mari - システム要件

トラブルシューティング

パフォーマンスが突然変化したり、何かおかしいと感じたりした場合は、お使いの設定に特定の問題がある可能性があり、それを切り分けて対処することができます。この記事に記載されているトラブルシューティングのガイドラインを参考に、以下の点を調査できます。
Q100710: Mari問題に関するトラブルシューティングガイド

さらなる支援

問題が発生した場合は、サポート チケットを作成し、この記事で要求されている情報を提供してください。
Q100090: Mari問題を報告する際にサポートに送信する情報

サポート チケットを開く方法の詳細については、次の記事を参照してください。
Q100064: サポートチケットを発行する方法

    私たちはそれを聞いて申し訳ございません

    理由をお聞かせください