Improving Streaming Performance

To improve your maximum sustainable transfer rate for streaming, consider the following recommendations:

  • Adjust the Data Transfer Block Size property or the NIRFSG_ATTR_DATA_TRANSFER_BLOCK_SIZE attribute. The default data transfer block size for NI-RFSG is 8 MS (or 16 MB). If you were to write a 32 MB waveform to the RF signal generator, the complete transfer would occur using four separate DMA transfers. If you modify the data transfer block size to 16 MS (32 MB), for example, the data transfer is more efficient and is instead accomplished in a single transfer.
  • Configure advanced streaming properties by calling the Maximum In-Flight Reads or Preferred Packet Size property or the NIRFSG_ATTR_DATA_TRANSFER_MAXIMUM_IN_FLIGHT_READS or NIRFSG_ATTR_DATA_TRANSFER_PREFERRED_PACKET_SIZE attributes.
  • Optimize the bus bandwidth usage for multi-device streaming applications by calling the Maximum Bandwidth property or the NIRFSG_ATTR_DATA_TRANSFER_MAXIMUM_BANDWIDTH attribute.
  • When streaming from hard drives, consider the hard drive speed for maximum sustainable rates. Laptop hard drives typically have a data transfer rate of 25 MB/s to 30 MB/s. Desktop hard drives often can meet 55 MB/s to 70 MB/s.

    Transfer rates from hard drives can vary for a number of reasons, including where the data is physically stored on the hard drive and how much data is stored. Storing your waveform files on a fairly empty, defragmented hard drive may help increase performance.

  • Consider using a redundant array of independent disks (RAID) configuration to utilize striping to increase data transfer rates from disk.
  • When using 18-slot PXI chassis, install the RF signal generator used for streaming in the first segment (Slots 2 to 6) of the PXI chassis.