aihenry2980
aihenry2980

Reputation: 329

How to deal with large data in winform chart

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

Answers (1)

Beska
Beska

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

Related Questions