Hello Roie,
So there are different options for communicating between the FPGA and the RT target. The current method you are using is DMA FIFO, which is considered to be a stream. You could alternatively send tag data, if that would work in your application. Here is an article that explains the different between tags and streams, as well as outlining all the communication options you have with the FPGA, RT and HMI.
http://www.ni.com/white-paper/53345/en/
I would also suggest walking through the configuration flowchart listed in this article regarding DMA FIFO configuration. The DMA FIFO is configurable, or at least there are multiple ways to implement it which affect it's performance. I would suggest walking through this as you design your application.
https://zone.ni.com/reference/en-XX/help/371599P-01/lvfpgaconcepts/fpga_transfer_data/
Finally, you noted that you are using type float for your data points. They will use more memory, and therefore will not be as fast as fixed point. If you do not need your data to be floating or can manage with fixed point, I would suggest altering your data for increased speed.
Cheers,
Michael Pahl
Applications Engineering