Telerik Chart UI медленно работает с 1000 значениями - PullRequest
1 голос
/ 27 июня 2019

Итак, у меня есть простая страница xaml (UWP) с telerik chart:

<Grid>
        <telerikChart:RadCartesianChart Background="Beige" >
            <telerikChart:RadCartesianChart.Behaviors>
                <telerikChart:ChartPanAndZoomBehavior   ZoomMode="Both" PanMode="Both"/>
                <telerikChart:ChartTooltipBehavior  />
            </telerikChart:RadCartesianChart.Behaviors>
            <telerikChart:RadCartesianChart.VerticalAxis>
                <telerikChart:LinearAxis Padding="0" Title=" (m/s/s)"  Foreground="Black"/>
            </telerikChart:RadCartesianChart.VerticalAxis>
            <telerikChart:RadCartesianChart.HorizontalAxis>
                <telerikChart:LinearAxis Title="Time (s)" Foreground="Black"/>
            </telerikChart:RadCartesianChart.HorizontalAxis>
            <telerikChart:RadCartesianChart.Grid>
                <telerikChart:CartesianChartGrid MajorLinesVisibility="XY"/>
            </telerikChart:RadCartesianChart.Grid>



            <telerikChart:ScatterLineSeries   ItemsSource="{x:Bind Values, Mode=OneWay}">
                <telerikChart:ScatterLineSeries.XValueBinding>
                    <telerikChart:PropertyNameDataPointBinding PropertyName="XValue" />
                </telerikChart:ScatterLineSeries.XValueBinding>
                <telerikChart:ScatterLineSeries.YValueBinding>
                    <telerikChart:PropertyNameDataPointBinding PropertyName="YValue" />
                </telerikChart:ScatterLineSeries.YValueBinding>
            </telerikChart:ScatterLineSeries>


        </telerikChart:RadCartesianChart>

    </Grid>

Код позади создает 1000 значений для управления диаграммой:

        public MainPage()
        {
            this.InitializeComponent();
            for (int i = 0; i < 1000; i++)
            {
                var val = new ValueForChart() { XValue = i, YValue = Math.Sin( i / 2d )};
                Values.Add(val);
            }
        }

        public List<ValueForChart> Values { get; set; } = new List<ValueForChart>();
//...
  public class ValueForChart
    {
        public double XValue { get; set; }
        public double YValue { get; set; }
    }

Пользовательский интерфейс отображается быстро, ноневозможно использовать для панорамирования, масштабирования или замораживания при изменении размера окна.1000 значений не так уж много ... Я думаю, RadChart должно обрабатывать гораздо больше ..

Я что-то не так делаю?

...