このウィンドウを表示するには、ツール»プロファイル»バッファ割り当てを表示を選択します。

このウィンドウを使用して、LabVIEWがバッファ形式でメモリ領域を割り当てるブロックダイアグラム上の特定の領域を識別します。

バッファを確認するデータタイプの横にチェックマークを付けて、更新ボタンをクリックします。ブロックダイアグラムに、データに領域を割り当てるためのバッファが、黒い四角形として表示されます。

各バッファに割り当てられるメモリの容量は、LabVIEWがバッファを割り当てるオブジェクトの最上位のデータサイズと同じサイズです。32ビット整数の場合、最上位のデータサイズは4バイトです。配列の場合、最上位のデータサイズはシングルポインタのサイズです。これは、配列のタイプに関係なく、32ビットプラットフォームでは4バイト、64ビットプラットフォームでは8バイトです。クラスタの場合、最上位のデータサイズは、クラスタ内のすべての要素の最上位のデータサイズの合計に等しくなります。割り当てられたバッファは、VIの実行時にデータを保存するために使用される場合も、使用されない場合もあります。データのコピーが作成されるかどうかは実行時に決定されるため、またVIがダイナミックデータに依存する可能性があるため、予測することは不可能です。

VIがバッファの割り当てにメモリを必要とする場合は、バッファのデータコピーが作成されます。バッファにデータコピーが必要かどうかが不明な場合は、コピーが作成される可能性があります。

メモ VIが壊れている場合、黒い四角形は表示されません。

LabVIEWがバッファを作成する場所を確認したら、VIを編集して、LabVIEWでVIを実行するのに必要なメモリ容量を削減することで、VIのパフォーマンスを最適化できる場合があります。

このウィンドウには以下のコンポーネントが含まれます。

オプション 説明
配列

ブロックダイアグラム上の配列のバッファを表示します。LabVIEWがVIの実行に必要とするメモリの使用量を削減したい場合、可能な限り、開かれたフロントパネルに大きいサイズの配列を表示することを回避してください。開かれたフロントパネルの表示器は、表示するデータのコピーを保持します。また、配列を使用する場合、グローバル変数およびローカル変数を過度に使用することを回避してください。グローバル変数やローカル変数を読み取ると、LabVIEWがデータのコピーを生成する原因となります。

クラスタ

ブロックダイアグラム上のクラスタのバッファを表示します。LabVIEWがVIの実行に必要とするメモリの使用量を削減したい場合、サイズの大きい配列や文字列を含むクラスタまたはクラスタの配列などの階層的なデータ構造は使用しないでください。これは、LabVIEWはこのような階層的なデータ構造を効率的に処理できないため、VIがより多くのメモリを使用する原因となるためです。

文字列

ブロックダイアグラム上の文字列のバッファを表示します。VIを実行するのに必要なメモリ使用量を削減したい場合は、可能な限り、開かれたフロントパネルにサイズの大きい文字列を表示しないでください。開かれたフロントパネルの表示器は、表示するデータのコピーを保持します。また、サイズが大きい文字列を使用する場合、グローバル変数とローカル変数を過度に使用しないでください。グローバル変数やローカル変数を読み取ると、LabVIEWがデータのコピーを生成する原因となります。

パス

ブロックダイアグラム上のパスのバッファを表示します。

スカラ

ブロックダイアグラム上のスカラ値のバッファを表示します。

バリアント

ブロックダイアグラム上のバリアント値のバッファを表示します。

すべてのその他のタイプ

上記のリストにないすべてのデータタイプのバッファを表示します。

ダイナミックディスパッチ一時データ

一時バッファ割り当てを表示するには、ダイナミックディスパッチサブVIを構成します。これは、元の先祖実装VIが入力値を修正しないのに、実行時に呼び出された派生実装が入力値を変更したときに起こります。一時バッファ割り当ては、コピーが実際に起こるということではなく、起こる可能性があるということを示すのみです。

更新

ブロックダイアグラムに黒い四角形を表示して、選択するデータタイプのバッファを表示します。LabVIEWによるVIの再コンパイルが必要となるような変更をVIに加えると、バッファ情報が正確でなくなるため黒い四角形の記号が消えます。更新ボタンをクリックして、VIを再コンパイルして、黒い四角形を表示します。