Forums searches turned up related but different issues, so here goes: is this another chart memory leak or have I missed something?
The problem is simple, although I doubt it shows up often. If you put down a chart, its data space memory usage should reflect what's needed for the chart history times two. However, any time you switch inputs between scalars and arrays (doesn't seem to matter what type, or what dimension for the arrays, and I was testing with empty arrays), the chart grabs another whole buffer (history x 2), and the data space grows by that amount. If you switch back, it grows again. You can change array dimensions, delete your input and wire a new one of the same "order", or do any number of other things, and the data space is fine. But any time you make that particular switch, the data space grows. From everything I've tried, there isn't any way to free up this memory, even by deleting the chart from the VI, except to CTRL+Z all the way back to before you wired any inputs. If you've closed it or done a bunch of work afterwards, I don't think there's a way to reclaim it, and it doesn't get cleaned up with a restart.
Obviously, this probably hasn't even come up on anyone's radar for a few reasons, but we often deal with very large data sets, and I discovered this in a chart with a 1M-point history. (On a 32-bit machine, no less. Why do they even make those anymore)
I have screenshots available if anyone is interested, but I have to cull and crop before they're useful to anybody else so I didn't put any here. I haven't delved deep enough into VI scripting to find a programmatic way to see the memory usage breakdown--on that note, does anybody know how to do that?--so I don't have any snippets, either. I'll be stuck in the lab so I will be slow with responses, but I will be eager to hear if anybody has any suggestions or foreknowledge of this. Thank you!