パフォーマンスタイミングの使用

Nuke正確なパフォーマンスタイミングデータを画面に表示したり、XMLファイルに出力して、遅いスクリプトのボトルネックのトラブルシューティングに役立てることができます。パフォーマンスタイミングが有効になっている場合、タイミング情報はノードグラフに表示され、ノード自体は、緑(高速ノード)から赤(低速ノード)まで、各ノードで費やされた合計処理時間の割合に従って色付けされます。

注意:  Pythonを使用して、個々のノードのタイミング情報にアクセスすることもできます。見るhttps://learn.foundry.com/nuke/developers/113/pythondevguide/performance.html詳細については。

パフォーマンスタイミングの有効化

スクリプトエディタまたはコマンドラインからプロファイルを有効にできます。 -P引数。を追加することにより、タイミングデータをXMLファイルに出力することもできます。 -Pf引数とファイル名。ただし、出力はレンダリング時にのみ生成されます。

注意:  パフォーマンスタイミングをインタラクティブに、またはコマンドラインから有効にすると、処理のオーバーヘッドが増えますが、データにより、スクリプトのどこで処理時間が費やされているかを正確に把握できます。

画面にパフォーマンスタイミングを出力する

画面上のパフォーマンスタイミングを有効にすると、作業中にノードごとに累積データを表示できます。

スクリプトエディタから、次を入力します。

nuke.startPerformanceTimers()

コマンドラインから次を入力します。

./Nuke<version>/Nuke<version>.exe -P

注意:  を使用してタイミングデータをリセットできます。 nuke.resetPerformanceTimers()スクリプトエディタから。

パフォーマンスタイマーがアクティブな場合、次の情報が画面上で利用できます。

cpu -CPUが処理コードの実行に費やした時間(マイクロ秒単位)。すべてのCPUスレッドで集計されます。たとえば、マルチスレッド処理では、これは通常、 wall時間。スレッドごとの平均CPU時間(cpu使用するスレッドの数で割った値)は、 wallこれは、CPUスレッドがコードを実行せず、ロックを待機している可能性が高いことを示しています。これは、パフォーマンスの問題を示している可能性があります。

注意:  MacおよびWindows、CPU時間は現在正確ではありません。Macでは、 cpu値は常にwall時間。

wall -壁の時計で測定される時間-処理が完了するまで待つ必要がある実際の時間。のwall時間もマイクロ秒で測定されます。

ops -ノードで呼び出された演算子の数。演算子はNuke特定のタスクを実行するのビルディングブロック。ノードには1つ以上のopを含めることができます。たとえば、ノードが何かのサイズを変更する必要がある場合、同じことを行うために、独自の実装ではなくTransform opを使用します。

見るhttps://learn.foundry.com/nuke/developers/113/ndkdevguide/intro/terminology.html#op詳細については。

memory -ノードが使用するシステムメモリの合計量。

タイミング情報に加えて、ノードはプロファイリングに従って緑から赤に色分けされます。赤は低速ノードです。サンプルスクリプトから、Defocusは低速ノードであるのに対して、Mergeはまったく動作しないことがわかります。

注意:  を使用して、タイミングデータの表示を停止できます。 nuke.stopPerformanceTimers()スクリプトエディタで。

パフォーマンスタイミングをファイルに書き込む

を使用して、タイミングデータをXMLファイルに出力できます。 -Pf引数とファイル名。出力は、書き込みノードまたはコマンドラインレンダーからのレンダリング時にのみ生成されます。

オンWindowsたとえば、次のコマンドは、ノードグラフの書き込みノードからレンダリングするときに、プロファイルデータをファイルに書き込みます。

Nuke<version>\Nuke<version>.exe -Pf <file path and name>.xml

次のコマンドは、コマンドラインからレンダリングし、次のスクリプトから10フレームをレンダリングします。 profileTest.nk プロファイルデータをXMLファイルに書き込みます。

Nuke<version>\Nuke<version>.exe -x -Pf C:\temp\profileTest.xml C:\temp\profileTest.nk 1-10