Reputation: 329
I made a simple chart, one series, added points by
chart1.series[0].points.addxy(x,y);
it works fine for a small set of data, but sometimes I need as many as 10 million points, and it is relatively slow, it may lose response for a few seconds on a i7 PC.
How can I optimize the performance?
Is it possible to make it multithreading when the system draw the points?
Are there any hidden configs that can make the process faster?
Thank you!
Upvotes: 0
Views: 1160
Reputation: 12667
The most obvious speed improvement opportunity would seem to be from reducing the number of points you're plotting.
An averageish monitor resolution of 1280x1024 would be completely saturated by 1.3 million points, assuming every point was unique (which presumably they are not, or the chart would be worthless...just a giant block of color).
And that's only 1.3 million points...you're talking about trying to display about 7 times that. It simply can't all be displayed usefully on the screen.
So, given that you can't see that much data at once, how can you trim your data down? That depends on what is important to you, what your data looks like, what is critical, etc...but one likely option includes averaging points for time intervals.
Upvotes: 2