Speedup MSChart Clear Data Points

Problem Statement

Clearing data points in MSChart is known to be very slow.


However, there is a work around for this problem.
Suggested work around from link stated above is as below:
    public void ClearPointsQuick()
        while (Points.Count > 0)
            Points.RemoveAt(Points.Count - 1);
        Points.Clear(); //NOTE 1
 Extension method implementation is as below:

    internal static class MSChartExtension
        public static void ClearPoints(this Series sender)
            while (sender.Points.Count > 0)
                sender.Points.RemoveAt(sender.Points.Count - 1);
            sender.Points.Clear(); //NOTE 1

(NOTE 1) I added one additional line Points.Clear() at the end of the function to ensure the chart axis updated correctly on next plot. Without adding this line, I observed that previous axis settings will be used when plotting new data points right after calling ClearPoints().

See Also

MSChart Extension: An extension package for MSChart component which contains this fixes and others features.

Revision History

31/03/2012:  Added additional line to force axis update on next plot (NOTE 1).
12/03/2012:  Initial released.

Popular posts from this blog

C# DSP Simulation - DSP Lab

C# DSP Toolbox: Digital Filters (Updated)