I have about 250 series. Each serie contains > 500000 points. I see that the memoryusage grows alot until the program crashes. Is there a way to use that many series with >1000000 points and keep the memory usage low? Im using a FifoChart. And i have a pc with enough RAM.
Have a search of our knowledge base on OutOfMemoryException. You will see that it is possible to get an OutOfMemoryException when you have plenty of RAM, due to .NET4.5’s AnyCPU ‘Prefer 32-bit’ flag. Turning this off can solve many issues.
Next, 250 series with 500k points of double-double data requires at least 500000 * 250 * 8 * 2 = 2,000,000,000 bytes. Not excessive. However, note that FIFO Series require double the memory of standard XyDataSeries.
This is because the FIFO Buffer is circular, implemented as two pointers with Start/End indices. When we iterate over the FIFO Series, it is much faster to perform a memcopy to a cached array of size N than to resolve the circular index for each point. So now you need at least 4,000,000,000 bytes. This is not accounting for heap fragmentation, which can leave vast blocks of your managed heap unusable.
If you have way more than 8GB RAM and you are using .NET4.0 or 4.5 with ‘Prefer 32-bit’ false and still getting the issue, let me know.
Please login first to submit.