Q100225:パフォーマンスプロファイリングモードでのNukeの起動(-Pフラグ)

フォローする

概要

この記事では、スクリプトが遅くなった原因を特定するときに、Nukeノードのパフォーマンスをテストする方法について説明します。

詳しくは

Nukeスクリプトのどの部分で再生/レンダリング時間が遅くなっているのかを調べようとするのは難しい場合があります。
このアクションを容易にするために、Nukeはパフォーマンスプロファイリングモードを提供します。これは、特に遅いノードを分離してワークフローを最適化するために使用できるノード分析を提供します。
パフォーマンスプロファイリングモードでNukeを起動する

Nukeをパフォーマンスプロファイリングモードで実行するには、Nukeを起動するときに-Pフラグを使用する必要があります。これをどのようにするかについての指示のリストは各オペレーティングシステムのために以下で見つけることができます。
Windows
コマンドプロンプトウィンドウを開き、次のコマンドを実行します。

"C:\Program Files\Nuke10.0v4\Nuke10.0.exe" -P

Mac OSX:
[アプリケーション]> [利用]から[ターミナル]ウィンドウを開き、次のコマンドを実行します。

/Applications/Nuke10.0v4/Nuke10.0v4.app/Contents/MacOS/Nuke10.0v4 -P
Linux:
端末を開いて以下のコマンドを実行します。

/usr/local/Nuke10.0v4/Nuke10.0 -P

注意:これらの手順は、Nukeをデフォルトの場所にインストールすることに基づいています。そうでない場合は、カスタムインストールの場所から実行するようにコマンドを変更する必要があります。
パフォーマンスプロファイリングモード中に報告された情報
Nukeがパフォーマンスプロファイリングモードで起動されると、各ノードは次の情報を報告します。
cpu - CPUが処理コードの実行に費やした時間(マイクロ秒単位)。すべてのCPUスレッドの合計。
たとえば、マルチスレッド処理では、これは通常、実時間よりはるかに長くなります。スレッドあたりの平均CPU時間(CPUを使用スレッド数で割った値)が実時間よりはるかに短い場合、これはCPUスレッドがコードを実行せず、おそらくロックを待機するのに長い時間を費やしたことを示します。問題。

メモ :Mac OS XおよびWindowsでは、CPU時間は現在正確ではありません。 Mac OS Xでは、cpu値は常に実時間と同じです。

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

ops - ノードで呼び出された演算子の数。オペレータは特定のタスクを実行するNukeのビルディングブロックです。ノードには1つ以上のオペレーションを含めることができます。
例えば、ノードが何かをリサイズする必要があるとき、同じことをするためにそれ自身の実装ではなく変換操作を使うでしょう。

memory - ノードによって使用されているシステムメモリの総量。
タイミング情報に加えて、ノードはプロファイリングに従って緑から赤まで色分けされています。ここで、赤は遅いノードです。スクリプト例からわかるように、Defocusは遅いノードですが、Mergeはまったく機能しません。
Nukeをパフォーマンスプロファイリングモードで起動すると、以下に示すように、Nuke UIの[パフォーマンス]メニューでタイマーをリセット、開始、および停止できます。


追加情報

パフォーマンスプロファイリングの詳細については、 NukeオンラインヘルプおよびNuke Python開発者ガイドを参照してください

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

    理由をお聞かせください