サポートチケットを作成する
フォローする

Q100380:スキャンラインとしての画像の読み取りとネットワークアクセス

概要

この記事では、Nukeのスキャンラインベースの画像アーキテクチャが、画像データの処理と読み取りの観点からどのように機能するか、ネットワークを介してファイルを読み取るときのパフォーマンスに影響を与える方法について説明します。

 

詳しくは

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

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


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


Nukeのアーキテクチャの詳細およびViewerがデータを読み取る方法の詳細な説明は、 NDK開発者ガイドにあります。



ネットワークから読む

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


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

 

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

 

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


ローカライズ機能を使用すると、ネットワーク上でフッテージを扱うときのNukeのインタラクティブパフォーマンスを向上させることができます。これについての詳細は以下の通りです。

 

 

EXR画像と圧縮タイプの読み方

EXRイメージタイプは、Nukeが一度に1行ずつ処理するスキャンラインとしてイメージタイプを読み取るという上記の規則の例外です。 EXR画像を圧縮することで、Nukeがスキャンラインに個別に読み込むことができるようになるまでに、一度に展開する必要があるデータの量が決まります。 ZIP(1)はデフォルトで読み書きするのに最も速い圧縮です、なぜならNukeはそれらを読み始める前に大きな塊のデータがアンパックされるのを待つよりむしろ直接スキャンラインに出入りすることができます。圧縮されていないファイルはZIP(1)よりも速く読み込まれます。


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


Nukeが使用するEXR圧縮の種類の一覧は、Nukeオンラインヘルプの「 付録C:ファイル形式>サポートされているファイル形式> EXR圧縮」セクションに記載されています。


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



ローカライゼーション

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

ローカライゼーションが有効になっていると、Nukeはスクリプトが読み込むイメージのローカルキャッシュを保存します。ローカルキャッシュを作成するためにコピーされたファイルは、最初にネットワークロケーションからスキャンラインとして読み込まれます。 Nuke GUIでスクリプトを操作しながら、ネットワークファイルを作成します。


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

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

Nuke :より良いパフォーマンスのためのファイルのローカライズ
NukeStudio :メディアのローカライズ



さらなる助け

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

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

リアルタイム再生に問題がある場合は、この記事の情報を参照してください。Q100297:リアルタイム再生のトラブルシューティング

この記事は役に立ちましたか?
/

We're sorry to hear that!

Please tell us why.
5人中4人がこの記事が役に立ったと言っています

コメント