We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

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.
Live Chat Icon For mobile
Up arrow icon