I would consider this more of a general DAQ (not the real-time environment) but your question leads me to wonder if the real-time environment might be a better solution.
At any rate, with your current setup doing DAQ in Windows, let's see if we can address your question. How many channels are you acquiring? What is your configured sampling rate? The delay you mentioned would be perfectly normal if you are sampling at around 27,826 scans/second (scan rate input to AI Start). If we do the math, 1/27826 = 3.59376e-5 seconds / scan. Multiply by 640 scans = 0.023 sec = 23 ms. If you are scanning much faster than this, say 50,000 scans/second or more and are still seeing this 23 ms delay, there may be a problem.
One note about Windows is that it is not determini
stic, so you mentioned best case was around 23 ms. You may have seen higher as well. With LabVIEW RT (real-time) you can achieve deterministic performance, though if you were scanning around 30,000 scans/second as mentioned above, you would still see the ~23 ms delay for your operation simply because it takes ~23 ms for 640 scans to come in at 30,000 scans/second.
If this did not answer your question, you might consider contacting technical support via the "Contact NI" link in the upper-right corner of this page, and clicking on the link under Technical Support.