一般に、データ構造は読み取るチャンネルとサンプルの数によって決定されます。たとえば、8個のアナログチャンネルで100個のサンプルを64ビット浮動小数点形式で読み取る場合、1つの指標がチャンネルを指定し、もう1つの指標がサンプルを指定する2次元配列を使用します。一方、1つのアナログチャンネルで1つのサンプルを64ビット浮動小数点形式で読み取る場合は、単純な浮動小数点スカラ値で十分です。一般に、特定の読み取りまたは書き込みの呼び出しに使用されるデータ構造は、要求されるチャンネルとサンプルの数を処理するために最も単純で合理的な形式となります。

多くの場合、複数ある有効なデータ構造から1つを選択することができます。データ構造を選択する際は、データ操作が難しくならないかどうかを考慮する必要があります。複数のチャンネルとサンプルを処理できるデータ構造を選択すると、多くの場合データ操作が非常に複雑になります。

パフォーマンスは、異なるデータ構造のデータの読み取り、書き込みの場合と同様です。

  • 波形データ構造—波形には、1つ以上のサンプルが含まれます。
  • 1D波形配列データ構造—1次元波形配列によって、チャンネルが決定されます。個々の波形に複数のサンプルを追加できるため、2次元波形配列である必要はありません。
  • スカラデータ構造—1つのチャンネルで1つのサンプルを読み取る/書き込む場合はスカラデータ構造を使用します。スカラデータは操作が簡単です。必要に応じてデータを個々のチャンネルで読み取り/書き込みする場合に有効です。

    一般的には、スカラデータは高速な複数サンプル集録アプリケーションには適していません。

    また、複数のチャンネルで同時にサンプルを集録または生成する場合にも適していません。複数チャンネル構造を使用するほうが簡単です。また出力操作においては複数チャンネル構造の使用が必須です。

  • 配列データ構造—配列データ構造では、複数のチャンネル/サンプルを同時に読み取りまたは書き込みできます。同時に複数のチャンネルでサンプルを集録/生成する場合、同時に読み取りと書き込みを行うと処理が最も簡単です。複数のサンプルは、1つずつ読み取り/書き込みするより、1回の呼び出しで読み取り/書き込みするほうが効率的です。
  • 未処理データ構造—未処理データ構造は、デバイスのネイティブデータ構造によって定義されます。