Hi,
I'm adding 5 series with 10000 points per series in a chart and I'm experiencing a poor performance.
I've followed all Telerik's tips to improve the performance but I got a little trouble when trying to use the sampling. It's not rendering right, maybe I'm not doing it correctly.
The images are attached.
Here's my chart configuration:
Here's my LineSeries configuration:
Thanks!
I'm adding 5 series with 10000 points per series in a chart and I'm experiencing a poor performance.
I've followed all Telerik's tips to improve the performance but I got a little trouble when trying to use the sampling. It's not rendering right, maybe I'm not doing it correctly.
The images are attached.
Here's my chart configuration:
radChart1.DefaultView.ChartArea.EnableAnimations =
false
;
radChart1.DefaultView.ChartArea.LabelFormatBehavior = LabelFormatBehavior.None;
radChart1.DefaultView.ChartArea.NoDataString =
"Loading chart..."
;
radChart1.DefaultView.ChartArea.ZoomScrollSettingsX.ScrollMode = ScrollMode.ScrollAndZoom;
radChart1.DefaultView.ChartArea.ZoomScrollSettingsY.ScrollMode = ScrollMode.ScrollAndZoom;
radChart1.DefaultView.ChartArea.AxisX.IsDateTime =
true
;
radChart1.DefaultView.ChartArea.AxisX.StepLabelLevelCount = 2;
radChart1.DefaultView.ChartArea.AxisX.StepLabelLevelHeight = 15;
radChart1.DefaultView.ChartArea.AxisX.DefaultLabelFormat =
"dd/MM HH:mm"
;
radChart1.DefaultView.ChartArea.AxisX.MajorGridLinesVisibility = Visibility.Collapsed;
radChart1.DefaultView.ChartArea.AxisX.MinorGridLinesVisibility = Visibility.Collapsed;
radChart1.DefaultView.ChartArea.AxisY.AutoRange =
false
;
radChart1.DefaultView.ChartArea.AxisY.AddRange(-1.2, 1.2, 0.5);
radChart1.DefaultView.ChartArea.AxisY.MajorGridLinesVisibility = Visibility.Visible;
radChart1.DefaultView.ChartArea.AxisY.MinorGridLinesVisibility = Visibility.Visible;
radChart1.DefaultView.ChartArea.ZoomScrollSettingsX.PropertyChanged += ZoomScrollSettingsX_PropertyChanged;
radChart1.DefaultView.ChartArea.ZoomScrollSettingsY.PropertyChanged += ZoomScrollSettingsY_PropertyChanged;
radChart1.SamplingSettings.SamplingThreshold = 1000;
oGraphData.GetSeriesConfigCompleted +=
new
EventHandler<GraphData.GetSeriesConfigCompletedEventArgs>(oGraphData_GetSeriesConfigCompleted);
oGraphData.GetSeriesDataCompleted +=
new
EventHandler<GraphData.GetSeriesDataCompletedEventArgs>(oGraphData_GetSeriesDataCompleted);
Here's my LineSeries configuration:
var seriesMapping =
new
SeriesMapping();
seriesMapping.CollectionIndex = 0;
seriesMapping.LegendLabel =
"Tag "
+ e.Result[x].Namek__BackingField;
seriesMapping.SeriesDefinition =
new
LineSeriesDefinition { ShowItemLabels =
false
, ShowPointMarks =
false
, ShowItemToolTips =
false
};
seriesMapping.SeriesDefinition.Appearance.StrokeThickness = 1;
seriesMapping.ItemMappings.Add(
new
ItemMapping { FieldName =
"YValuek__BackingField"
, DataPointMember = DataPointMember.YValue, SamplingFunction = ChartSamplingFunction.KeepExtremes });
seriesMapping.ItemMappings.Add(
new
ItemMapping { FieldName =
"XValuek__BackingField"
, DataPointMember = DataPointMember.XValue });
lstLegend.Add(
new
POPLegend { SerieColor =
new
SolidColorBrush { Color = Colors.Cyan } , ColumnName = e.Result[x].Namek__BackingField });
radChart1.SeriesMappings.Add(seriesMapping);
Thanks!