Showing results for 
Search instead for 
Did you mean: 

network stream fxp excess memory usage and poor performance

I'm trying to stream some datas à highspeed rate (3 channels à 1Mbytes/s) from my 9030 to my windows host. Because i don't need to use data on the rt side, i choose to forward FXP <+-,24,5> to my host throug a network stream.

To avoid data loose i choose to use a wide buffer of 6000000 with this buffer my memory usage grow from 441mo to 672Mo and my rio is unable to stream the data. 

With sgl or double, memory usage is 441 to 491Mo and datas can be streamed continusly.


Anyone have encoutered this problem?


0 Kudos
Message 1 of 2

   I, too, am having trouble streaming FXP values from an RT to my PC.  I'm using an cRIO-9035 connected with a gigabit ethernet cable to a PC with a gigabit ethernet port.  I am enclosing two pairs of test programs for running on the cRIO and PC.  In each, a 2-d array of 4000 x 25 values is being sent to the PC.  The behavior described below occurs when just running the RT code interactively, instead of building an executable.  Building one does not affect the behavior.   

   One pair streams uses INT32s, and takes 3 msec to write the array.  That's what I would expect, since 4000 x 25 x 32 =3.2 megabits  of information per array, and a gigabit speed can transfer 1 megabit per millisecond.

   The other pair uses FXPs (+/-, 30, 20) in the same size array, but takes 90 milliseconds to transfer  each array.  Since there are 30 bits per value instead of 32, I would have expected a faster speed, if anything.  Why would it take 30x longer?

   A different issue I'm seeing is that the PC stops seeing new elements after about 1700 arrays have been sent, for either pair.  The cRIO keeps writing arrays to the stream, and the room left in the stream decreases accordingly.  I'm throwing the data away on the PC for this test, so what would stop it from receiving data?

0 Kudos
Message 2 of 2