LabVIEWコンパイラが特定の操作を実行する方法を制御でき、一部のケースではメモリ効率とVI効率を向上させることができます。LabVIEWコンパイラがデータをメモリ内にコピーして保持することを必須にせずに、配列、クラスタ、バリアント、または波形内のデータ要素に対して操作を行いたい場合は、「In Place要素ストラクチャ」を使用します。また、このストラクチャを使用して、メモリの同じデータ空間内に保持されるすべてのデータタイプに対して操作を行うこともできます。ストラクチャの境界を右クリックして、実行する処理に適した境界ノードを選択します。

In Place要素ストラクチャの境界を右クリックし、以下のノードから適切なノードを選択し、ストラクチャの境界に追加します。

ノードを右クリックして、修正子としてマークを選択し、ブロックダイアグラムにデータが変更されたことが示されていない場合でも、LabVIEWがノードに配線するデータを変更することを示します。修正子としてマークオプションはダイナミックディスパッチ端子と使用する場合に役立ちます。ダイナミックディスパッチサブVIの親クラスの実装がノードに配線されているデータを変更しなくても、子クラスの実装がデータを変更する場合があります。修正子としてマークを使用すると、LabVIEWが作成するデータのコピーの数を最小化することで、パフォーマンスが最適化されます。

メモ 修正子としてマークオプションは、データへのアクセスを防止しないため、同期メソッドとして使用できません。代わりに、セマフォまたはデータフローで保護されたデータへのアクセスを制御し、競合状態が起こるのを防ぎます。


icon