評価ツールキットを開くには
アニメーションの速度を上げるために、並列評価モードの最適な使用方法を分析および理解するには、評価ツールキット(Evaluation Toolkit)を使用します。 デバッグ モードや出力の有効化など、評価マネージャ(Evaluation Manager)のあらゆる面を操作するには、評価ツールキット(Evaluation Toolkit)でオプションをアクティブにします。 「評価モードを使用してパフォーマンスをテストする」も参照してください。
構成(Configuration)
評価ツールキット(Evaluation Toolkit)が提供するツールの動作を構成できる設定が含まれています。
- Graphviz オプション(Graphviz Options)
-
- Graphviz システムを使用したインストール(Use Graphviz system installation)
-
ご使用のシステムの Graphviz インストールを、
Maya 付属のインストールの代わりに使用するには、このオプションを有効にします。
注: Maya で Graphviz インストールを検出できるように、Graphviz 実行ファイルが含まれる Graphviz フォルダが PATH 環境変数内にあることを確認します。 「
標準的なパス」を参照してください。
- Graphviz バージョンを表示(Show Graphviz Version)
-
ドット コマンド ソフトウェアのバージョンをレポートする、dot -v コマンドの出力を表示します。
モード(Mode)
評価モード(Evaluation Mode)メニューから適切な評価モードを選択します。
- 評価モード(Evaluation Mode)メニュー
-
-
DG
- シーンにディペンデンシー グラフ ベースの評価モードを使用します。(詳細については、「ディペンデンシー グラフ」も参照してください。)Maya 2016 より前ではこれが既定の評価モードでした。
-
シリアル(Serial)
- 評価マネージャを使用しますが、1 つのコアの評価(シリアル評価)に制限されます。シリアル(Serial)を使用して、評価エラーを検出できるようにパフォーマンスに関するシーンの忠実度に優先順位を付けて、シーンのトラブルシューティングを行います。
注: DG モードよりも
シリアル(Serial)評価モードの方がシーンの実行が遅くなることがあります。これは、
シリアル(Serial)では
DG モードよりも多くのノードが評価されるためです。この詳細な評価のために、
シリアル(Serial)モードでシーンが正しくないように見えた場合、そのシーンが
並列(Parallel)モードで適切に動作することはほとんどありません。
カスタム プラグインによりシリアル(Serial)モードで不適切な評価が行われる場合があります。
- シリアル(キャッシュなし) (Serial (uncached))
- シリアル(上の方)に似ていますが、「キャッシュなし」では、すべてのフレームの評価順序が再決定されます。 非推奨。
-
並列(Parallel)
- 評価を並列処理し、シーンを評価するために利用可能なすべてのコアを使用します。このモードでシーンに問題が発生した場合には、モードを無効にして前の標準の DG 評価モードに戻ります。
「シーンをプロファイルしてパフォーマンスを向上させる」を参照してください。
既定ではこのモードはオンになっています。
- GPU のオーバーライド(GPU Override)
- 評価マネージャと連携し、シリアル(Serial)または並列(Parallel)評価モードでデフォメーションを高速化します。シーンに標準の Maya デフォーマがあり、メッシュ ジオメトリが高密度な場合、これによりパフォーマンスが向上します。結果は、シーン内のデフォーマとメッシュの密度によって異なります。
注: GPU のオーバーライド(GPU Override)は、ビューポート 2.0 でのみ動作します。OSX の Quadro 4000 グラフィックス カードでは動作しません。°
- GPU オーバーライドの技術的な説明については、「Maya を並列に使用する」を参照してください。
- 評価グラフにコントローラを含める(Include Controllers in Evaluation Graph)
- 構築時に、評価マネージャでコントローラ メカニズムを使用した事前設定をアクティブ/無効にします。
- 詳細設定(Advanced)
-
- 操作(Manipulation)
- 操作用に評価マネージャを切り替えます。 シリアル モードと並列モードでのみ有効です。
ヘッドアップ ディスプレイ(Heads Up Display)
次のヘッドアップ ディスプレイ(Heads Up Display) (HUD)オプションを使用して、評価およびフレーム レート情報をビュー パネルに表示できます。 その他のヘッドアップ ディスプレイ(Heads Up Display)オプションについては、「ヘッドアップ ディスプレイ(Heads Up Display) (HUD)オプション」および「ビュー パネルにシーン情報(HUD)を表示する」を参照してください。
-
評価(Evaluation)
- 現在の評価モードを示します。評価ノードを変更するには、プリファレンス > アニメーション(Preferences > Animation)の評価(Evaluation)を確認します。
-
フレーム レート(Frame Rate)
-
現在のビューのフレーム レートをフレーム/秒(FPS)単位で右下隅に表示します。既定はオフです。
デバッグ(Debugging)
シーンの問題領域を特定するには、このセクションにあるこれらのオプションを使用します。
- 検証トレース(Validation Trace)
- 無効な評価グラフのパスを追跡するトレース オブジェクトに切り替えます。評価グラフで示される依存関係に従わないデータ アクセスを記録します。 このような予期しないアクセスによって、評価エラーが発生したり、不安定な状態になってクラッシュなどが発生する場合があります。
- この出力ファイルには、各再生フレーム中に検出された欠落した依存関係が含まれます。 これはシリアル モードでのみ動作します。
- トレース結果は既定の Maya の Temp フォルダの _MayaEvaluationGraphValidation.txt ファイル内に保存されますが、別の場所を指定することもできます。 使用コンピュータ上の一時フォルダは、getenv("TEMP") MEL コマンドを使用して見つけることができます。
- 計算済ノード(Computed Nodes)トレース
- 計算しているノードを出力するトレース オブジェクトに切り替えて、計算パスの高レベルのトレースを実行します。これは DG モードおよびシリアル モードでのみ動作します。
- トレース結果は Maya のランタイム フォルダの Maya ファイル内に保存されます。 ランタイム フォルダは、getenv ("MAYA_LOCATION") MEL コマンドを使用して見つけることができます。
- 起動プロファイラ(Launch Profiler)
- プロファイラ(Profiler)を開きます。これは、評価タスクなどの重要な各イベントに費やされた時間を記録して示すことで、シーンのパフォーマンスのボトルネックを特定するのに役立つツールです。
- 解析ウィンドウを起動(Launch Analytics window)
- 解析ウィンドウを開きます。これは、シーン上でスクリプトを実行して検索結果を報告することにより、シーンのコンテンツや一連のシーンを解析できるツールです。
- 評価グラフの検査(Evaluation Graph Inspection)
- このセクションでは、評価グラフとスケジュールグラフの作成方法を確認できる一連のツールが提供されます。
-
- 検査するノード(Nodes to Inspect)
- 評価グラフの検査(Evaluation Graph Inspection)セクションのツールごとに、グラフ全体を調べるのか(ドロップダウン メニューですべて(All)を選択)、またはサブセットのみを調べるのか(選択項目(Selected)を選択)を選択することができます。
- 選択項目(Selected)を選択すると、レベルの深さ(Levels Deep)というラベルの付いた別のフィールドが表示されます。グラフ情報を表示している場合は、通常、ノード間の接続に関心があります。レベルの深さ(Levels Deep)値は、出力に含める、選択したノードからのステップ数をツールに指示します。
- このコンテキストでは、「ステップ数」は、グラフ内でノード間を移動するために必要な接続の数を意味します。たとえば、 A -> B -> C というグラフの接続がある場合、B は A と C の両方に対して深さが 1 です。C は A に対して深さが 2 です。
- わかりやすくするために、次の関数は、すべて(All)オプションを選択した場合と同様に記述されています。
-
- グラフィカル出力(Graphical Output)
- このセクション内のツールは、評価グラフおよびスケジュール グラフを視覚化するために出力を PDF または DOT フォーマットで提供します。この視覚化は、ディペンデンシー グラフに対してノード エディタに表示される内容と似ています。
| フォーマット(Format)
|
生成する出力のタイプを選択します。PDF が設定されている場合、グラフは .pdf ファイルに送信されます。DOT が設定されている場合、グラフは .dot ファイルに送信されます。いずれの場合も、ツールは生成されたファイルの既定のアプリケーションでファイルを開こうとするため、すぐに確認できます。たとえば、.pdf ファイルの場合は Adobe Acrobat、.dot ファイルの場合は Graphviz が開かれます。
推移還元(Transitive Reduction)チェックボックスは、表示注のグラフ内にある不要な接続の数の削減を試みるオプションです。生成された出力はクリーンになりますが、生成時間が大幅に長くなることがあります。
|
| 出力ファイル(Output file)
|
このフィールドには、ファイルの作成場所が表示されます。既定では、ファイル波 MAYA_LOCATION フォルダに格納されます。新しいファイル名を入力するか、または新しいフォルダを参照して場所を変更します。ファイル名の拡張子には、選択したフォーマット(Format)
(.pdf または .dot)が常に反映されます。
|
| 視覚的なグラフ(Visual Graph)
|
表示(Show)ボタンをクリックして呼び出すと、評価グラフの視覚的な表現が選択したフォーマットで生成され、このファイル タイプの既定のアプリケーションで結果が開きます。
ダーティ プラグを追加(Add Dirty Plugs)オプションをオンにすると、評価マネージャ(Evaluation Manager)によって各ノード内のダーティに設定されたすべてのプラグのリストが追加されます。通常、この量の詳細は必要ありませんが、グラフ内に見つからないアトリビュートの依存関係を検出する場合は便利です。
|
| スケジュール グラフを視覚化(Visualize Scheduling Graph)
|
表示(Show)ボタンをクリックして呼び出すと、スケジュール グラフの視覚的な表現が選択したフォーマットで生成され、このファイル タイプの既定のアプリケーションで結果が開きます。
スケジュール グラフは評価グラフと異なり、一連のノードをグループ化して、グループ単位で評価します。たとえば、非表示エバリュエータは、すべての非可視ノードをまとめてクラスタ化して、評価します。単体では、何も行いません。
クラスタの内容を追加(Add Cluster Contents)オプションを使用すると、クラスタ ノードの表示を、クラスタに含まれるノードの数を表示するから、すべてのノードの名前別リストを表示するに切り替えることができます。これは、特定のカスタム エバリュエータによってクラスタ化されたノードを確認する場合に便利です。
|
- テキスト出力(Text Output)
- このセクション内のツールは、JSON 形式またはプレーン テキスト形式で出力を提供し、評価グラフまたはスケジュール グラフを視覚化します。
| フォーマット(Format)
|
2 種類の出力を使用できます。JSON フォーマットの方が詳細で、すべてのノードの情報および関係をキー/値の形式で示します。概要(Summary)フォーマットは、すばやく参照できるように、情報をよりコンパクトにまとめて表示します。
|
| 出力位置(Output Location)
|
結果をスクリプト エディタ(Script Editor)に直接送信するのか、それとも外部ファイル(File)に送信するのかを選択できます。スクリプト エディタは、シーンの一部をすばやく調べる場合に最も役立ちます。外部ファイルは、結果をオフラインで解析および解釈するのに最適です。
|
| 出力ファイル(Output file)
|
このフィールドがアクティブになるのは、出力位置(Output Location)としてファイル(File)オプションを選択した場合のみです。ファイルの作成場所が表示されます。既定では、ファイルは MAYA_LOCATION フォルダに格納されます。新しいファイル名を入力するか、または新しいフォルダを参照して場所を変更します。
|
| 評価ノード(Evaluation Nodes)
|
選択されているノードまたはシーン全体(なにも選択されていない場合)の評価ノードと接続のリストを出力します。
ダーティなプラグを表示(Show Dirty Plugs)をオンにして、評価マネージャ(Evaluation Manager)が評価および計算する前にダーティに設定するプラグのリストを出力します。
|
| 評価ノード(Evaluation Nodes)
|
表示(Show)ボタンをクリックして呼び出すと、評価グラフ内のすべてのノードのリストが、選択したフォーマットで生成されます。これは、通常、アニメートされたすべてのノードまたはコントローラを意味します。
ダーティ プラグを追加(Add Dirty Plugs)オプションをオンにすると、評価マネージャ(Evaluation Manager)によって各ノード内のダーティに設定されたすべてのプラグのリストを追加できます。
|
| ノードのスケジュール タイプ(Node Scheduling types)
|
表示(Show)ボタンをクリックして呼び出すと、評価グラフ内のノードのスケジュール タイプが表示されます。タイプは並列(Parallel)、シリアル(Serial)、グローバルにシリアライズ(Globally Serialize)、および信頼できない(Untrusted)です。詳細については、「並列 Maya を使用する」を参照してください。
|
| スケジュール グラフ(Scheduling Graph)
|
表示(Show)ボタンをクリックして呼び出すと、スケジュール グラフの内容が選択したフォーマットで表示されます。
スケジュール グラフは評価グラフと異なり、一連のノードをグループ化して、グループ単位で評価します。たとえば、非表示エバリュエータは、すべての非可視ノードをまとめてクラスタ化して、評価します。単体では、何も行いません。
クラスタの内容を追加(Add Cluster Contents)オプションを使用すると、スケジュールされているすべてのクラスタ内のノード セットを含めることができます。これは、特定のカスタム エバリュエータでクラスタ化されているノードを表示する場合に便利です。
|
- シーンの簡易化(Scene simplification)
- 選択されているオブジェクトの最小依存関係を取得します。
-
- 最小シーンを選択(Select minimal scene)
- このオプションを使用して、選択したオブジェクトの評価に必要なすべてを識別します。
-
最小シーン以外のすべてを削除(Remove all except minimal scene)
- 上記の最小シーンを選択(Select minimal scene)オプションで必要とみなされないすべてのオブジェクトを削除します。
重要: データ損失(Data Loss!) このオプションをオンにすると、そのバージョンのシーンが誤って保存されなくなります。
- ダイナミック アトリビュート(Dynamic Attributes)
- 接続したダイナミック アトリビュートが、並列処理を阻止する人工的な依存関係を発生させる場合があります。これによって並列評価で得られるパフォーマンスの向上が無効になります。 このようなタイプのダイナミック アトリビュート間の接続を表示するのにこれらのツールを使用します。
-
- 特殊な接続を出力(Print extra connections)
- ダイナミック アトリビュート間で検出される接続のリストを表示するには、印刷(Print)をクリックします。 結果はスクリプト エディタ(Script Editor)に表示されます。
- 特殊な接続を除去(Remove extra connections)
- このオプションは、追加の依存関係を除去した場合に実現できる可能性があるパフォーマンスの向上を把握するためのもので、デバッグ目的でのみ使用します。 このオプションはアグレッシブなツールで、評価出力が変更される場合があるため、注意して使用する必要があります。
重要: データ損失(Data Loss!) このオプションをオンにすると、データが損失したときに、そのバージョンのシーンが誤って保存されないようになります。
- シーンの簡易化(Scene simplification)
- 選択されているオブジェクトの最小依存関係を取得します。
-
- 最小シーンを選択(Select minimal scene)
- このオプションを使用して、選択したオブジェクトの評価に必要なすべてを識別します。
- 最小シーン以外のすべてを削除(Remove all except minimal scene)
- 上記の最小シーンを選択(Select minimal scene)オプションで必要とみなされないすべてのオブジェクトを削除します。
重要: データ損失(Data Loss!) このオプションをオンにすると、そのバージョンのシーンが誤って保存されなくなります。
カスタム エバリュエータ(Custom Evaluators)
各カスタム エバリュエータの横にあるチェックボックスをクリックして、カスタム評価をアクティブにします。
関連付けられているカスタム エバリュエータでサポートされている構成オプションを表示するには、
(疑問符)ボタンを使用します。エバリュエータ コマンド リファレンスで -c / -configuration フラグを参照してください。
関連付けられているカスタム エバリュエータの関連情報を問い合わせるには、
([i])ボタンを使用します。
関連付けられているカスタム エバリュエータから要求されているノードを表示できるウィンドウを開くには、
([n])ボタンを使用します。
ヒント: エバリュエータ コマンドを使用すると、使用可能な、またはアクティブなエバリュエータを照会したり、現在アクティブなエバリュエータを変更したりできます。 一部のエバリュエータでは、_nodeType_ フラグを使用して特定のタイプのノードを除外したり、含めたりできます。 サポート内容の詳細については、エバリュエータの _info_ フラグを照会してください。
非表示(invisibility)、フリーズ(Frozen)、ダイナミクス(Dynamics)、デフォーマ(Deformer)のバックグラウンドに関しては、「エバリュエータ リファレンス」を参照してください。 より技術的な詳細については、「Maya を並行に使用する」を参照してください。
重要: 既定の有効状態または無効状態を変更すると、不安定になったり、パフォーマンスが低下する場合があります。 慎重に実行してください。
ここにリストしているダイナミクス エバリュエータの詳細については、後述の「
ダイナミクス(Dynamics)」セクションを参照してください。
| カスタム エバリュエータ
|
用途
|
| 非表示(invisibility)
|
非表示ノード(およびこれらを駆動するすべてのノード)を評価対象から外します。 非表示エバリュエータの詳細については、「エバリュエータ リファレンス」を参照してください。
注: エバリュエータが有効になっているかどうかに関係なく、シーンは同じように表示されます。
非表示(invisibility)エバリュエータの詳細については、「エバリュエータ リファレンス」を参照してください。
|
| フリーズ(Frozen)
|
シーンのどの部分を評価するかをコントロールするために用意されている「フリーズ」ワークフローを処理します。
フリーズ(Frozen)エバリュエータの詳細については、「エバリュエータ リファレンス」を参照してください。
|
| curveManager
|
|
| timeEditorCurveEvaluator
|
タイム エディタ(Time Editor)からカスタム カーブの評価要件を処理します
|
| ダイナミクス(Dynamics)
|
一般的ではない評価要件があるダイナミクス ノードの正確な評価を行います。
ダイナミクス(Dynamics)エバリュエータの詳細については、「エバリュエータ リファレンス」を参照してください。
|
| IK システム(ikSystem)
|
マルチハンドル IK システムから生じる評価の複雑さを管理します。
|
| 無効化(disabling)
|
評価マネージャを無効にします(デバッグ目的)。
|
|
hik
|
HumanIK リグのパフォーマンスを高めます。
|
| リファレンス(reference)
|
ロードまたはアンロードされたリファレンスを含むシーンのパフォーマンスを改善します。
|
| デフォーマ(Deformer)
|
サポートされているデフォーマの GPU 実行をサポートします。 デフォーマ(Deformer)エバリュエータに、GPU のオーバーライド(GPU Override)オプションが実装されました。
デフォーマ(Deformer)エバリュエータの詳細については、「エバリュエータ リファレンス」を参照してください。
|
| transformFlattening
|
長いトランスフォーム階層のパフォーマンスを改善します。
|
| ルートを削減(pruneRoots)
|
スケジュールのオーバーヘッドを減らすために、小さな個別タスクを一緒にスケジュールしてパフォーマンスを改善します。
|
ダイナミクス
ダイナミクス エバリュエータを構成します。 ダイナミクス エバリュエータは、一般的ではない評価要件があるダイナミクス ノードの正確な評価を行います。
- モード(Mode)
- 次の 5 つのオプションから選択します。
| 名前
|
機能
|
| 無効化(Disabled)
|
シーン内にアクティブなダイナミクス ノードが現れるとすぐに並列評価または評価マネージャを無効にします。
|
| 旧バージョン 2016 (Legacy 2016)
|
ブラックリストに含まれるノードがシーンに表示されるとすぐに評価を無効にして、2016 リリースの既定の設定を再現します。
次のノード タイプはブラックリストに含まれています。
- nucleus
- pointEmitter
- rigidSolver
- rigidBody
- particle
- geoConnector
- field
- fluidShape
および上記から派生したタイプ。
|
| サポート(Supported)
|
サポートされているダイナミクス ノードの複雑な評価を実行し、ブラックリストに含まれるノードがシーン内に現れるとすぐ並列評価および評価マネージャを無効にします。
次のノード タイプはブラックリストに含まれています。
- rigidSolver
- rigidNode
- particle (同時に nBase でない限り)
- fluidShape
- fluidEmitter
- dynHolder
- collisionModel
- dynController
- dynGlobals
- spring
- membrane
および上記から派生したタイプ。
|
| すべて(サポートなし) (Everything (NOT SUPPORTED))
|
このモードはブラックリストを使用しないため、問題のあるものも含めてすべてのノードを使用します。
|
| カスタム(サポートなし) (Custom (NOT SUPPORTED))
|
このモードでは、次のサポートされていないオプションの組み合わせを試すことができます。
|
- 詳細設定(Advanced)
-
- ノードの無効化(Disabling Nodes)
- 並列評価/評価マネージャの原因となるノードのセットを無効にします。
- 処理済ノード(Handled Nodes)
- 評価を処理するダイナミクス エバリュエータが読み取るノード セット。
- アクション(Action)
- 処理対象ノード上で、ダイナミクス エバリュエータが実行するアクションを選択します。
| 名前
|
機能
|
| なし(None)
|
ノードを無視します。
|
| 評価(Evaluate)
|
特殊な評価の要件が必要になるたびに評価を実行します。
|
| フリーズ(Freeze)
|
ダイナミクス エバリュエータが、現在の状態で処理するすべてのノードをフリーズさせます。 評価は実行されず、ノードは影響を受けません。これは最速の方法です。
|
GPU のオーバーライド(GPU Override)
スクリプト エディタ(Script Editor)では、次のレポートが表示されます。 このエバリュエータのディスクリプションについては「エバリュエータ リファレンス」を参照し、GPU オーバーライドに関する技術的な情報については、「Using Parallel Maya(英語)」を参照してください。
- アクティブなデフォメーション チェーン(Active deformation chains)
- GPU エバリュエータによって処理されるデフォメーション チェーン(つまり、1 つのメッシュと少なくとも 1 つのデフォーマ)のリストをコンパイルします。
- メッシュ情報(Mesh Information)
- 各メッシュの現在の GPU デフォメーションのサポートに関する情報を出力します。 メッシュが現在 GPU デフォーマによって処理されている場合、そのデフォメーション チェーンがリストに表示されます。 メッシュが GPU のデフォーマによって処理されていない場合は、リストには除外する理由が表示されます。
- 選択したノードのステータス(Selected nodes status)
- 選択したノードの現在の GPU デフォメーションのサポートに関する情報を出力します。 ノードが現在 GPU デフォーマによって処理されている場合、そのデフォメーション チェーンがリストに表示されます。 ノードが GPU のデフォーマによって処理されていない場合は、リストには除外理由が表示されます。
- クラスタ(Clusters)
- デフォーマ エバリュエータによって処理される各クラスタのノード リストを出力します。 各デフォーマ チェーンには独自のクラスタがあります。
選択範囲(Selection)
以下を選択します。
- 評価マネージャのコントロール下にあるノード(Nodes under evaluation manager control)
- 評価マネージャのコントロール下にあるノードのみに選択を変更します。 直接または間接的にアニメートされていないノードは、セットに含まれません。
- 上流ノード(Upstream nodes)
- 現在の選択より上流にある、現在評価マネージャのコントロール下にあるすべてのノードを選択します。 操作前に選択されるノードは、操作後に選択される上流ノードによって変わります。
- 下流ノード(Downstream nodes)
- 現在の選択より下流にある、現在評価マネージャのコントロール下にあるすべてのノードを選択します。 操作後に選択される下流ノードは、操作前に選択されるノードによって変わります。
上流ノード(Upstream nodes)/下流ノード(Downstream nodes)
評価グラフ内の接続されたすべてのノードは、上流ノードまたは下流ノードとみなされます。
次の図で、上流ノードと下流ノードがどのように作用し合うかをご確認ください。
上流は他のノードで必要とされるノードです。
- nurbsCone1_translateX => nurbsCone1
- nurbsCone1_translateX は nurbsCone1 の上流ノードになります。
- nurbsCone1_translateX は nurbsCone1 で必要です。
下流
は他のノードに従属するノードです。
- nurbsCone1_translateZ => nurbsCone1
- nurbsCone1 は nurbsCone1_translateZ の下流ノードになります。
- nurbsCone1 は nurbsCone1_translateZ に従属します。
サイクル(Cycles)
完全なグラフ(Full Graph)
シーンの現在の評価グラフを表示するために、.PDF および .DOT ファイルを作成します。
- 出力フォルダ(Output Folder)
- 出力グラフを保存するフォルダのパスを入力します。出力グラフを作成するには、生成(Generate)をクリックします。フォルダ アイコン
をクリックし、適切なフォルダにナビゲートできるファイル ブラウザを開きます。
- 出力ベース ファイル名(Output base file name)
- ベース ファイル名が表示されます。 既定は _EvaluationGraph_です。
- 生成されたファイルには、選択したベース ファイル名に .DOT、.PDF が追加されます。
- 生成(Generate)
- 現在の評価グラフで Graphviz .DOT ファイルを作成します。 推移還元を実行(Perform transitive reduction)オプションが有効になっている場合は、推移還元の出力が含まれる追加の .DOT (.tr.dot)が作成されます(Graphviz tred コマンドによって実行)。 次に、この .DOT ファイルが PDF ファイルに変換され(Graphviz dot コマンドを使用)、システムの既定の PDF Reader アプリケーションで開きます。
- 推移還元を実行(Perform transitive reduction)
- 推移還元を実行する場合は有効にします。冗長な依存関係を除去して、出力グラフの煩雑さを軽減します。
注: このプロセスは、大きなシーンでは非常に長い時間がかかります。
- 完全なグラフでクラスタをマーク(Mark clusters in full graph)
- 出力グラフで評価クラスタをハイライト表示するには、このオプションを有効にします。
- 開く(Open)
- 新しく作成された PDF ファイルを開きます。
サイクル グラフ(Cycle Graph)
このセクションでは、シーン内のサイクル クラスタを調査するためのユーティリティが提供されます。サイクル クラスタは順番に評価されるため、サイクル クラスタが大きい場合は、並列に処理される可能性が小さくなり、すべての CPU コアを効率的に使用できなくなります。大きなサイクル クラスタでは一般的なシーンのパフォーマンスが制限され、分割するとパフォーマンスが向上します。
- サイクル クラスタ(Cycle clusters)フィールド
- 生成(Generate)をクリックして、現在のシーン内のサイクル クラスタのリストを、このフィールドのクラスタ内のノードの数順(最大が先頭)に表示します。 選択したしきい値を下回るノード数が含まれるクラスタは、リストに表示されません。
- 各クラスタのノード数とクラスタの最初のノードが出力されます。 evaluationManager コマンドを使用すると、完全なクラスタを照会することができます。
- サイクル サイズのしきい値(Cycle Size Threshold)
- 含まれるサイクル クラスタの最小ノード数を定義します。既定は 100 です。
注: サイクルが小さいと、パフォーマンス解析との関連性が小さくなることがあります。
- サイクル クラスタ(Cycle clusters)リストを更新する
- サイクル リストをクリックして更新します。
- 選択したノードに基づいてサイクルを選択する
- 選択したノードが含まれているサイクルを選択します。
- 選択したサイクル クラスタ内のノードをリストする
- サイクル クラスタ内のすべてのノードを表示します。
- 最短パス(Shortest Path)
-
現在選択しているクラスタ内でソース ノードと移動先ノードの両方を指定している場合、どちらのノードも出力グラフで緑色にハイライト表示されます。 ソース ノードから移動先ノードへのパスは青色で表示され、移動先ノードからソース ノードへのパスは赤色で表示されます。
注: これらのパスからの接続を除去するためにこの設定を使用した場合、推移還元を非アクティブにします。
- 最短パス(Shortest Path)
-
- ソース ノード(Source node)
- ソース(Source)ノードを設定するには、選択範囲を選択(Pick Selected)をクリックします。
- 接続先ノード(Destination node)
- 接続先ノード(Destination node)を設定するには、選択範囲を選択(Pick Selected)をクリックします。
- 最短パスのみ(Shortest path only)
- 最短パス上にあるノードのみを表示するには、このオプションを有効にします。
- 出力フォルダ(Output Folder)
- サイクル クラスタ グラフを保存するフォルダのパスを入力します。グラフを作成するには、生成(Generate)をクリックします。フォルダ アイコン
をクリックし、目的のフォルダを選択できるファイル ブラウザを開きます。
- 出力ベース ファイル名(Output Base File Name)
- ベース ファイル名が表示されます。 既定は _CycleCluster_ です。
- 推移還元を実行(Perform transitive reduction)
- 出力グラフで推移還元を実行するために有効にします。冗長な依存関係を除去して、出力グラフの煩雑さを軽減します。
依存関係(Dependencies)
このセクションでは、2 つのノード セット間の依存関係を表示するグラフを生成できます。 これは、相互に依存すべきではない 2 つのノード セットが、実際には依存関係がある理由を解明するのに役立ちます。
- 上流ノード(Upstream nodes)/下流ノード(Downstream nodes)
- 上流ノード(Upstream nodes)/下流ノード(Downstream nodes)リストとして使用するノードを選択し、選択範囲を選択(Choose Selected)をクリックして、このノード セットを使用します。
- 出力フォルダ(Output Folder)/出力ベース ファイル名(Output Base File Name)
- グラフを保存するフォルダのパスを入力します。 グラフを作成するには、生成(Generate)をクリックします。 フォルダ アイコン
をクリックすると、ファイル ブラウザが開き、適切なフォルダにナビゲートできます。
- 推移還元を実行(Perform transitive reduction)
- 出力グラフで推移還元を実行するために有効にします。冗長な依存関係を除去して、出力グラフの煩雑さを軽減します。
レポート(Reports)
このセクションには、シーンに対して生成できるレポートが含まれています。 現在用意されているレポートは、エクスプレッションに関するレポート 1 つだけです。 結果はスクリプト エディタ(Script Editor)に表示されます。
- エクスプレッション(Expressions)
- これが有効な場合、安全なエクスプレッション ノードおよび安全ではないエクスプレッション ノードの数とともに、エクスプレッション ノードの合計数がレポートされます。
- 安全なエクスプレッションとは、出力が入力の倍数である場合にだけ複数の出力を使用できる式のことです。
- 安全なエクスプレッションは入力の倍数のみを出力し(入力は DG 接続で読み取られる)、数学関数以外のコマンドは呼び出しません。 これらのノードには副作用がないため、他のノードと同時に評価できます。 安全ではないエクスプレッションは、他のノードと並列評価することはできません。 安全ではないエクスプレッションは、他のノードと並列評価することはできません。
- このレポートは、シーンのパフォーマンスに影響する可能性がある、さまざまなタイプのエクスプレッションをチェックします。
- レポートを作成するには、生成(Generate)をクリックします。
フリーズ(Freezing)
これらのオプションでは、DAG (有向非巡回グラフ)のセクションを有効または無効にでき、パフォーマンスの改善を図ることができます。 明示的(Explicit)な伝播を有効にすると、直接または間接的にフリーズに設定されたすべての項目は評価用にスケジュールされず、再生パフォーマンスが向上します。 ランタイム(Runtime)の伝播を代わりに選択すると、グラフのセクションはスケジュールされますが、ランタイムでスキップされます。
アニメートおよびフリーズされた状態は、これらが必要かどうか判断するために先に評価する必要があるため、スケジュールされます。
- フリーズの伝播(Frozen Propagation)
- 適用された編集に関係なく、フリーズされたリファレンス ノードの参照元のノードも強制的にフリーズさせるように設定する場合、このオプションを有効にします。
-
- ランタイム(Runtime)
- この設定は、ランタイム時にのみ下流の削減を有効にします。 フリーズされたノードはスケジュールされますが、フリーズされていることが判明すると、すべての下流の評価はスキップされます。
- 明示的(Explicit)
- このオプションをオンにするのは、フリーズ エバリュエータを有効にするのと同じです。 フリーズ オプションを使用して、直接または間接フリーズによって評価されないノードがスケジュールされないようにします。 この設定により、最大限の再生加速度が実現します。
- 下流フリーズ モード(Downstream Freeze Mode)/上流フリーズ モード(Upstream Freeze Mode)
- フリーズ モードの厳密度を指定できます。 上流(Upstream)または下流(Downstream)を選択します。
-
| なし(None)
|
上流または下流の伝播はありません。
|
| すべての親のフリーズ時(When All Parents are Frozen)
|
下流ノードまたは上流ノードは、その上流ノードまたは下流ノードがすべてフリーズしている場合にのみフリーズされます。
|
| 常時(Always)
|
フリーズされたノードからのすべての上流ノードまたは下流ノードは、他にフリーズされていない入力があった場合でも、すべてフリーズされます。
|
- 非表示のフリーズ(Freeze Invisible)
- フリーズ状態をDAG (有向非巡回グラフ)階層から下へすべての非表示の子に伝播します。 これによってルート ノードをフリーズ(非表示にする)して、その DAG 階層全体をフリーズすることができます。 このオプションを使用しない場合、各ノードを個別にフリーズする必要があります。 ノード(Nodes)またはディスプレイ レイヤ(Display Layers)から選択して、非表示のフリーズされたディスプレイ レイヤのメンバー ノードもフリーズします。
- 直接フリーズされたノード(Directly Frozen nodes)
- フリーズするノードを選択するには、選択(Select)をクリックします。
- フリーズするノードのリストを印刷するには、印刷(Print)をクリックします。
- フリーズしたすべてのノードの選択を解除するには、全てフリーズ解除(Unfreeze All)をクリックします。
スケジュール(Scheduling)
- スケジュール タイプをオーバーライド(Scheduling type override)
- このオプションでは、以下に示すツールを使用して、指定されたタイプのすべてのノードに適用するスケジュール タイプのオーバーライドを選択できます。 次に、各オーバーライド タイプについて説明します。
| スケジュール タイプをオーバーライド(Scheduling type override)
|
説明
|
| なし(None)
|
スケジュール タイプのオーバーライドはありません。 これが既定の設定です。
|
| 並列(Parallel)
|
ノードとノードによって使用されるすべてのサードパーティ ライブラリがスレッドセーフであることをアサートします。 スケジューラは、制限のないその他のノードのインスタンスと同時に、このノードのインスタンスを評価します。
|
| シリアライズ(Serialize)
|
このノードを他のノードのインスタンスとともに実行しても安全であることをアサートします。 ただし、このスケジュール タイプのノードはすべて、同じ評価チェーン内で順次実行する必要があります。
|
| グローバルにシリアライズ(Globally serialize)
|
このノードを他のノード タイプのインスタンスとともに実行しても安全であることをアサートしますが、一度に実行できるのは、このノードの 1 つのインスタンスだけです。 複数のノードのインスタンスを同時に評価すると予測不能な結果が発生する可能性のある、静的な状態に依存するノードの場合、この設定を使用します。 サードパーティのライブラリが状態を保存する場合に、同じ制限が適用されることがあります。
|
| 信頼できない(Untrusted)
|
このノードはスレッドセーフではなく、このノードのインスタンスの評価中に、他のノードを評価するべきではないことをアサートします。 信頼できない(Untrusted)ノードは、評価スケジュールの最後まで保留され、コストのかかる同期化につながる可能性があります。
|
-
登録されているノード タイプ(Registered Node Types)
-
登録されているノード タイプ(Registered Node Types)リストからノード タイプを選択し、スケジューラによって、並列評価用にノードをいつスケジュールするかを指定するのに適用するスケジュール タイプのオーバーライドを選択します。 リフレッシュ(Refresh)
をクリックし、ノード タイプ(Node Types)リストを更新します。
-
- 選択したタイプに対するオーバーライド(Override for selected type(s))
-
- 印刷(Print)
- 登録されているノード タイプ(Registered Node Types)リストで選択したノード タイプに、現在アクティブなスケジュールのオーバーライドを表示するには、印刷(Print)をクリックします。
- 設定(Set)
- 登録されているノード タイプ(Registered Node Types)リストで選択したすべてのノード タイプに、スケジュール タイプをオーバーライド(Scheduling type override)オプションで設定したのと同じスケジュール タイプを割り当てるには、設定(Set)をクリックします。
- 選択したノード(Selected Nodes)
- シーンからノードを選択して、スケジューラによって、並列評価用にノードをいつスケジュールするかを指定するのに適用するスケジュール タイプのオーバーライドを選択します。
-
-
選択したノードのタイプをオーバーライド(Override for type(s) of selected node(s))
-
| 印刷(Print)
|
シーン内の選択されている各ノード タイプに対して、現在有効になっているスケジュール オーバーライドが表示されます。
|
| 設定(Set)
|
シーン内の選択されている各ノード タイプに、スケジュール タイプをオーバーライド(Scheduling type override)オプションで設定されているスケジュール タイプを割り当てます。
|
- 選択したノードに使用するタイプ(Type used for selected node(s))
-
| 印刷(Print)
|
シーン内の選択されている各ノードに対して、スケジューラが使用する実際のスケジュール タイプが表示されます。このとき、アカウント オーバーライドが考慮されます。オーバーライドが存在しない場合は、修正されていないスケジュール タイプが表示されます。
|