Real Time Chart performance

I have a chart that uses a binding list as a data source. The chart updates as items are added to the binding list, but I would like to improve the performance. I am adding to the binding list via a timer interval of 1ms.
Adding 2000 items to the binding list takes approx. 68 seconds to plot. If I just populate the binding list and don't use the chart it takes roughly 15 seconds.

Are there any recommendations to improve this performance?
My chart is set up like this:

public void SetUpChart(Table sourceTable)
{
chartControl1.Series.Clear();

ChartSeries series1 = new ChartSeries("IVT1", ChartSeriesType.Scatter);
series1.Text = series1.Name;
series1.Style.Symbol.Size = new System.Drawing.Size(5,5);
series1.Style.Symbol.Shape = ChartSymbolShape.VertLine;
series1.Style.Symbol.Color = Color.Red;
series1.Style.Border.Color = Color.Red;

ChartDataBindModel model = new ChartDataBindModel(sourceTable);
model.XName = "Im_real";
model.YNames = new string[] { "Vf_real" };
series1.SeriesModel = model;

chartControl1.PrimaryXAxis.RoundingPlaces = 3;
chartControl1.PrimaryYAxis.RoundingPlaces = 3;

ChartDataBindAxisLabelModel dataLabelsModel = new ChartDataBindAxisLabelModel(sourceTable);
dataLabelsModel.LabelName = "Im_real";
chartControl1.PrimaryXAxis.LabelsImpl = dataLabelsModel;

chartControl1.Series.Add(series1);

}

Also, all the values on the X axis are displaying 0.

1 Reply

JB Jaffersathick B Syncfusion Team May 17, 2010 07:55 AM UTC

Hi DanSchubel,

Thank you for using Syncfusion products.

We suggest you to use the following properties to improve the chart performance.

(i) ChartSeries.EnableStyles: Point Symbols and Point Text will not be visible if set to false.

(ii) ChartSeries.Style.DisplayShadow: This is set to true by default. Turning it off means, your lines will not have shadows (and hence will be rendered faster).

(iii) ChartControl.ImprovePerformance = true;- Improve the performance of the chart control.

(iv) ChartControl.Indexed : Setting Indexed to false speeds up the Chart. This is not a choice for making the Chart faster. If you don''t need a Indexed/Positional Chart, you must set this property to false.

(v) ChartControl.CalcRegions: This property controls Tooltips and AutoHighliting. If this value is set to false, these features will not work.

Please refer the documentation from the following link:
http://help.syncfusion.com/ug_82/WindowsFormsUI_Chart/ImprovingPerformance.html

Let me know if you have any concerns.

Regards,
Jaffer.B

Loader.
Up arrow icon