サポートチケットを作成する
フォローする

Q100407:Mari 3.4v1と4.1v1のブレンドモードキャッシング

概要

Mari 3.3v1以前では、レイヤのブレンドモードを変更すると、シェーダを再コンパイルする必要があるため、非常に面倒な作業になることがありました。この記事では、Mari 3.4v1 / 4.1v1でブレンドモードキャッシングを使用してパフォーマンスを改善し、ダイナミックモードで必要なシェーダーの再コンパイルの回数を減らす方法について説明します。

詳しくは

Mari 3.3v1で導入されたDynamic Shader Compilationモードは、かなり重いシェーダであることを犠牲にしてシェーダのコンパイル速度を向上させます。このダイナミックモードは複数の操作をキャッシュすることでコンパイルレートを削減しますが、レイヤの異なるブレンドモードを切り替えると、依然として定期的にシェーダの再コンパイルが発生するアーティストもいます。

Mari 3.4v1から、再コンパイルの回数を減らすために、Blend Modeがダイナミックキャッシングシステムに含まれるようになりました。これで、ユーザがレイヤ、マージノード、またはペイントバッファのブレンドモードを変更した場合、ビューポートで回転ホイールが完了するのを待たずに即座に変更する必要があります。

キャッシングシステムは、アーティストが再コンパイルすることなく使用できる5つのブレンドモードの「履歴」をサポートしています。

注:ブレンドモードの詳細については、Mariオンラインヘルプの「 ペイントブレンドモード」セクションを参照してください。

ブレンドモードのキャッシュステートから利益を得るためにカスタムノードを調整する方法

カスタムノード内でブレンドモード属性を使用している開発者は、カスタムノードXMLに次のようなものがあります。
<Attribute Name = "BlendMode" PrettyName = "Mode" Group = "" Type = "userenum">動的: MriBlendMode:Comp_Default </ 属性>
ブレンドモードを使用するために、開発者は2つの可能なオプションを持っています:
  1. 動的:MriBlendMode:Comp_ デフォルト -通常のブレンドモードタイプ(全モード)。

  2. ダイナミック:MriBlendModeNoAlpha: Comp_Default - アルファブレンドモードを含まないタイプの場合。
より速いコンパイルモードをサポートするためには、XMLファイルを変更してこれらの変更を有効にする必要があります。
前:

Output = $BlendMode(_Base, _Over, #Mask.r * AdvancedBlendAmount);
 #if defined(MRI_GENERAL_  COMPOSITION)
Output = Comp_General($BlendMode, _Base, _Over, #Mask.r * AdvancedBlendAmount);
#else
Output = $BlendMode(_Base, _Over, #Mask.r * AdvancedBlendAmount);
#endif // defined(MRI_GENERAL_C OMPOSITION)

この記事は役に立ちましたか?
/

We're sorry to hear that!

Please tell us why.
2人中2人がこの記事が役に立ったと言っています

コメント