MEL/Python profiler および profilerTool コマンドを使用してプロファイラ(Profiler)、照会イベント情報、検索イベント、プロファイリング用の計測プロシージャでの記録を開始/停止できます。計測は、解析のために情報を収集するプログラムの変更です。
次の profilerTool フラグは編集モードで使用する必要があります。
次の profilerTool フラグは照会モードで使用する必要があります。
次の例のように、イベントの記録を有効および無効にするには、profiler command -sampling (-s) フラグを使用します。
profiler -s true; polyCube; profiler -s false;
プロファイリング カテゴリを追加するには、次の例のように、-addCategory フラグを使用します。
int $melCategoryIndex = `profiler -addCategory "MEL Scripts"`;
現在、ローカライズ文字(上位 ASCII 文字および 2 バイト文字)を使用したカテゴリ名はサポートされていません。
MEL プロシージャを定義し、-instrumentMel フラグを使用してこのプロシージャを計測します。次の例は、ファクトリアルと呼ばれるプロシージャの計測を有効にする方法を示しています。
profiler -instrumentMel true -procedureName "Factorial" -categoryIndex $melCategoryIndex -colorIndex 8 -procedureDescription "FactorialDesc" ;
1 つまたは複数のプロシージャの計測を無効にすることができます。特定のプロシージャの計測を無効にするには、-instrumentMel を false に設定し、計測を無効にするプロシージャの名前を指定します。
profiler -instrumentMel false -procedureName "Factorial" -categoryIndex $melCategoryIndex;
一度にすべての計測を無効にするには、-clearAllMelInstrumentation フラグを使用します。
profiler -clearAllMelInstrumentation;
前述のフラグに加え、バッファ内のイベント数を照会する -eventCount やプロファイラ(Profiler)のデータをリセットする -reset などの他の便利なフラグの詳細については、profiler MEL コマンドのドキュメントを参照してください。
プロファイラ(Profiler)のメイン ビューを操作する方法の詳細については、profilerTool MEL コマンドのドキュメントを参照してください。たとえば、ビューを切り替えることや、特定のセグメントを分離することができます。
イベントの記録を無効にするには、次のように、サンプリングをそれぞれ True/False に設定します。
cmds.profiler(sampling = True) cmds.polyCube() cmds.profiler(sampling = False)
プロファイリング カテゴリを追加するには、次のように OpenMaya.MProfiler.addCategory() を呼び出します。
categoryIndex = OpenMaya.MProfiler.addCategory("Python Scripts")
プロシージャを計測するには、次の例のように、プロシージャ定義で OpenMaya.MProfilingScope() を呼び出します。
def Factorial(number): # Instrument this procedure profiler = OpenMaya.MProfilingScope(categoryIndex, OpenMaya.MProfiler.kColorE_L1, "Factorial", "FactorialDesc") result = 1 for i in range(1, number+1): result = result * i return result
前述のフラグに加え、バッファ内のイベント数を照会する -eventCount やプロファイラ(Profiler)のデータをリセットする -reset などの他の便利なフラグの詳細については、profiler Python コマンドのドキュメントを参照してください。-instrumentMel フラグは、MEL プロシージャの計測に Python で使用できます。
プロファイラ(Profiler)のメイン ビューを操作する方法の詳細については、profilerTool Python コマンドのドキュメントを参照してください。たとえば、ビューを切り替えることや、特定のセグメントを分離することができます。
プラグインで MProfiler::addCategory() メソッドを呼び出すと、カテゴリをプロファイラ(Profiler)に追加できます。プロファイリングする関数を計測するには、MProfilingScope::MProfilingScope() を呼び出します。詳細については、MProfiler と MProfilingScope C++ API リファレンス ドキュメント、および Maya 開発者ヘルプの「Autodesk Maya 2015 Extension の新機能」を参照してください。
Python または C++ を使用してプロシージャを計測するときに、関連する DG ノードを登録することもできます。この場合、プロファイラ(Profiler)グラフで計測されるイベントを選択するときに、その関連する DG ノードも選択され、アトリビュート エディタ(Attribute Editor)、アウトライナ(Outliner)、ノード エディタ(Node Editor)に表示されます。
これを行うには、Python スクリプトまたは C++ プラグインで MProfilingScope::MProfilingScope() を呼び出すときに、関連する DG ノードを MObject として入力パラメータの 1 つとして提供します。MObject 入力パラメータは DG ノードを示す必要があり、アトリビュートまたはコンポーネントを示すことはできません。
詳細については、OpenMaya::MProfilingScope() C++ API リファレンス ドキュメント、および Maya 開発者ヘルプの「Autodesk Maya 2016 の新機能」を参照してください。