RT FIFOs also pre-allocate all the possible memory needed by the FIFO. If it is a FIFO of arrays, then you will have to specify the max number of arrays to store and the size for the arrays. This helps RT FIFOs avoid any memory allocation in your time-critical loop, which is a huge source of jitter.
Queues do not pre-allocate memory for your data, and they do not require that the data be of a fixed size. Starting in the LabVIEW 8.2 Real-Time Module, there are also new RT FIFO primitives with better performance and other new options, such as the ability to control how your RT FIFO will determine when they can read from or write to the FIFO. There are polling methods with optimal response time but increased CPU usage, and blocking methods that use minimal CPU resources, but have higher latency.
Jarrod S.
National Instruments