Q100380: 画像をスキャンラインとして読み取るとネットワーク アクセスに影響

フォローする

まとめ

この記事では、画像データの処理と読み取りに関してNukeスキャンラインベースの画像アーキテクチャがどのように機能するか、ネットワーク経由でファイルを読み取る際のパフォーマンスにどのような影響を与えるか、およびパフォーマンスを向上させるためにNukeのローカリゼーション機能を利用するかについて説明します。

詳しくは

Nukeはスキャンライン画像合成システムであり、画像の最後に到達するまで一度に 1 行のピクセルを処理して画像を読み取ります。 (これらのスキャンラインは、NDK プラグイン開発用語では行と呼ばれます)。

たとえば、ビューアが解像度 640x480 の画像を表示する場合、ビューアはそれを 480 行に分割し、一度に 1 行ずつ要求し、必要な処理を適用して表示します。フルアパーチャの Super 4K 画像 (4096x3112) を表示している場合、3112 行のリクエストが発生することになります。

スキャンライン レンダリングには 2 つの大きな利点があります。まず、画像を行サイズのチャンクで処理するということは、画像全体を同時にコンピューターのメモリに常駐させる必要がないため、 Nukeほぼ無制限の範囲の画像サイズを処理できるということです。次に、可視ピクセルの処理回数が最小限に抑えられます。この動作は、 Nukeマシン リソースを最大限に活用できるように、優れたスケーラブルなパフォーマンスを提供するように設計されています。

Nukeのアーキテクチャの詳細と、ビューアがデータを読み取る方法の詳細な説明については、 NDK 開発者ガイドを参照してください。

Nuke 13.2 では、このソフトウェアはトップダウン方式でレンダリングする機能を提供するようになり、入力データを必要としないグラフ内のすべてのノードを最初にレンダリングすることで、スクリプトの出力を高速化できる可能性があります。トップダウンが行うことの詳細なアプローチについては、次の情報を参照してください: https://learn.foundry.com/nuke nuke

ネットワークからの読み取り

Nukeのスキャンライン アーキテクチャがファイルを読み取る方法は、ネットワーク経由でファイルを読み取るときのパフォーマンスに影響を与える可能性があります。

イメージは、入出力 (I/O) ファイル アクセス リクエストを通じて読み取られ、ソース ファイルからリクエスター アプリケーション (Nuke) にデータが取得されます。ソース イメージがリクエストを送信するマシンに対してローカルである場合、特に高速ストレージがある場合、I/O リクエストは高速になります。ただし、ソース イメージがネットワーク ストレージ システム上にある場合は、ネットワークの読み取り/書き込み速度と帯域幅により、ファイル読み取りパフォーマンスに追加の遅延が追加される可能性があります。たとえば、4K (4096x3112) イメージをネットワークからNukeに読み取るには、3112 のネットワーク アクセス リクエストが必要です。ネットワーク ファイル I/O リクエストの数はネットワーク帯域幅の影響を受ける可能性があり、各リクエストはネットワークの読み取り/書き込み速度の影響を受けます。

注:イメージ データを取得するために多数の小さな読み取りサイズを処理するときに適切に拡張できないネットワーク ストレージ システムを使用している場合、ファイル I/O リクエストの数が多いためにネットワーク遅延が発生する可能性があります。 Nukeネットワーク帯域幅による制限が必要です。

この記事で概説されている手順に従って、ネットワーク ストレージ システムの読み取り/書き込み速度をテストできます: Q100296: ネットワーク速度を確認する方法

ローカリゼーション機能を使用すると、ネットワーク上の映像を操作するときのNukeのインタラクティブ パフォーマンスを向上させることができます。詳細については以下をご覧ください。

EXR イメージの読み取りと圧縮タイプ

EXR イメージ タイプは、 Nuke一度に 1 行を処理するスキャンラインとしてイメージ タイプを読み取る上記のルールの例外です。 EXR イメージの圧縮により、 Nukeスキャンラインに個別にロードする前に一度に解凍する必要があるデータの量が決まります。 ZIP (1) は、デフォルトで読み取りおよび書き込みが最も速い圧縮です。Nuke Nuke 、より大きなデータ チャンクが解凍されるのを待ってから読み取りを開始するのではなく、スキャンラインに直接解凍できるためです。ただし、非圧縮ファイルは ZIP (1) よりも速く読み取られます。

EXR イメージの特定の圧縮オプションでは、 Nuke一度に 1 スキャンラインではなく、より大きなチャンクを読み取ります。次の圧縮オプションは解釈され、一度に 64 スキャンラインのブロックで読み取られ、画像への全体的なアクセスが削減されます: ZIP (16)、PIZ、PXR24、B44、B44A。

Nuke使用する EXR 圧縮タイプのリストは、 Nukeドキュメントに記載されています。

完全な入力イメージを取得するためのネットワーク アクセスが懸念される場合は、上記の圧縮のいずれかで圧縮された EXR データを使用すると、全体的なネットワーク アクセスが最小限に抑えられる可能性があります。ただし、これは使用するネットワーク ストレージ システムの読み取り/書き込み速度に依存するため、大きな解像度を処理する場合には依然として速度が低下する可能性があります。

ローカリゼーション

ネットワーク経由でのファイルの読み取りによるパフォーマンスの低下に対処する 1 つの方法は、 Nukeのローカリゼーション機能を使用して、 Nuke GUI セッションでのファイル I/O を高速化し、ネットワークの対話を減らすことです。

ローカリゼーションが有効な場合、 Nukeスクリプトが読み込む画像のローカル キャッシュを保存します。ローカル キャッシュを作成するためにコピーされたファイルは、最初にネットワークの場所からスキャンラインとして読み込まれますが、その後はオリジナルではなくローカル バージョンが使用されます。 Nuke GUI でスクリプトを作業している間、ネットワーク ファイルを保存できます。

Nukeスクリプト内でネットワーク ファイルへの参照を保持するため、スクリプトが別のユーザーまたはレンダー ファームに送信されたときにファイルを見つけることができます。ただし、小さなファイル I/O リクエストを繰り返し使用することを避けることで、ネットワークへの負担を軽減します。スクリプトの作業中にネットワーク経由で画像データを読み込みます。

ファイルとメディアのローカライズの詳細については、次のリンクにあるオンライン ヘルプを参照してください。

Nuke : パフォーマンスを向上させるためにファイルをローカライズする

NukeStudio : メディアのローカライズ

さらなるヘルプ

この記事で説明した提案を実行した後も、ファイルの読み取りと書き込みに関するパフォーマンスの問題が引き続き発生する場合は、サポート チケットを開いて、発生している問題とこれまでに実行したトラブルシューティング手順をお知らせください。

サポート チケットを開く方法の詳細については、 「Q100064: サポート ポータルの使用」の記事を参照してください。

リアルタイム再生で問題が発生した場合は、次の記事で入手可能な情報を確認してください: Q100297: リアルタイム再生のトラブルシューティング

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

    理由をお聞かせください