I would like to create line chart with thousands of points that completely refreshes at least 10 times per second. What are some techniques for increasing the performance of charts with a lot of data to display?
One idea I’ve had is to change the number of draw calls from being based on the number of data points to being based on the number of pixels available. I could divide the data into bins along the X axis and draw a vertical line between the min and max for each bin.
There is a good article about charting performance over on the Visiblox blog, here.
You might not be using this particular charting library in your application, but the main points of the article will still apply. Its all about carefully selecting what you need to show when. The main points of the article are:
to use
the axes
the DataSeries
thread
data and the frequency of updates
There’s also a slightly less helpful article on the MSDN blog, but it should help to outline some of the key areas when improving chart performance.