Q100225: パフォーマンスの問題を切り分けるための Nuke スクリプトのプロファイリング

フォローする

まとめ

この記事では、スクリプト速度低下の原因を特定する際に、 Nukeノードのパフォーマンスをテストするために使用できる 2 つの代替方法について説明します。


詳しくは

Nukeスクリプトのどの部分が再生/レンダリング時間を遅くしているかを特定するのは難しい場合があります。

このプロセスを容易にするために、 Nukeスクリプト内のノードのパフォーマンスをプロファイリングするための 2 つの代替方法、パフォーマンス プロファイリング モードプロファイルノードを提供します。
どちらの方法でも、特に遅いノードを分離するために使用できる分析が提供され、ワークフローの最適化に役立ちます。プロファイリングすると、ノードは緑から赤に色分けされます。赤は低速ノードです。
以下の例から、Defocus は遅いノードであるのに対し、Merge はまったく機能しないことがわかります。

パフォーマンスプロファイリングモード

パフォーマンス プロファイリング モードを設定すると、各ノードの分析とノード自体のさまざまなメトリクスを確認できるようになります。
パフォーマンス プロファイリング モードでのNukeの起動

Nukeパフォーマンス プロファイリング モードで実行するには、 Nukeの起動時に -P フラグを使用する必要があります。これを行う方法の手順のリストは、オペレーティング システムごとに以下にあります。
Windows :
コマンド プロンプト ウィンドウを開き、次のコマンドを実行します。

"C:\Program Files\Nuke14.0v5\Nuke14.0.exe" -P

マックOS:
[アプリケーション] > [ユーティリティ]からターミナル ウィンドウを開き、次のコマンドを実行します。

/Applications/ Nuke 14.0v5/ Nuke 14.0v5.app/Contents/MacOS/ Nuke 14.0 -P
Linux:
ターミナルを開き、次のコマンドを実行します。

/usr/local/ Nuke 14.0v5/ Nuke 14.0 -P

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

: macOS および Windows では、CPU 時間は現時点では正確ではありません。 macOS では、CPU 値は常に経過時間とほぼ同じになります。

- 壁の時計で測定した場合にかかる時間 - 処理が完了するまでに待機しなければならない実際の時間。経過時間もマイクロ秒単位で測定されます。

ops - ノード内で呼び出されるオペレーターの数。オペレーターは、特定のタスクを実行するNukeの構成要素です。ノードには 1 つ以上の操作を含めることができます。
たとえば、ノードが何かのサイズを変更する必要がある場合、同じことを行うために独自の実装ではなく Transform 演算子を使用します。

メモリ- ノードによって使用されるシステム メモリの合計量。
Nukeパフォーマンス プロファイリング モードで起動すると、以下に示すように、 Nuke UI の [パフォーマンス] メニューでタイマーをリセット、開始、停止できます。

プロファイルノード

Nuke 11.1 リリース (以降) では、Profile ノードが導入されました。このノードを使用すると、ユーザーはプロファイル ノードが配置された時点でノード ツリーのメトリックを計算できます。
プロファイル ノードをノード グラフに配置して選択すると、プロファイル メニューが開きます。
プロファイルを実行するには、選択したフレーム範囲とデータ タイプを入力し、「プロファイル」をクリックします。
データが収集されると、プロファイル メニュー内でデータが生成され、使用率に基づいてグラフに表示されます。
注:このデータのフィルタリングの詳細については、 「プロファイル データのフィルタリング」ドキュメントを参照してください。

手法の違い

プロファイル ノードは、チャートやその他の GUI ベースの診断など、かなりの数の新機能を提供しますが、パフォーマンス プロファイル モードで使用されるタイマー ベースの分析ではなく、パーセント ベースの分析に基づいてパフォーマンスを計算します。


追加情報
両方の方法の詳細については、それぞれパフォーマンス プロファイリングまたはプロファイルノードのドキュメントを参照してください。

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

    理由をお聞かせください