Hey Guys!
Thanks heaps for the testing and feedback, much appreciated.
Here are some more of my observations from further testing that tie in with yours - so I think this is starting to make sense!
Using a smaller array (1 element instead of 100) as the element of the buffer, the issue went away
I also made some changes that sped up the X-Control (e.g. update graph by explicit reference in subVI to implicit reference on facade) which also helped with the above
If I smash the X-Control (fast, as per the demo) and hit the stop button, the VI stops but the X-Control continues updating for what can be a while.
So yes, I am inclined to believe the data is being queued somewhere -> because it can't keep up, and hence this is the cause of the allocations The concerning thing is: my application (whilst doing other things in parallel) was only updating the X-Control every 1000ms and was still causing a 1-2+MB/s leak! This X-Control could, instead of queuing if it ran late, just ignore data and catch up (given I am not buffering anything inside it) - but that is out of my control. For the design I initially wanted to define the interface as a '2D Array of DBL's' (the buffer). So to allow if I want to user the buffer for something else. Maybe I will have to look at something else. Ideas: I could buffer the data inside the X-Control so the behavior is like a Chart not a Graph - so the interface just becomes a '1D Array of DBL's'?
Or I could reference an external buffer (i.e. using a DVR)? - but didn't want to do that.
Thoughts?
Cheers
-JG
<edit>Tried toggling Synchronous Display but it did not help the allocations, thanks for suggestion tho</edit>