Использование последней версии SfChart для Xamarin.Forms (16.3.0.36). Я столкнулся со следующей проблемой: ColumnSeries занимает много времени для отображения небольшой коллекции (более 10 секунд для сравнения нескольких записей) по сравнениюна LineSeries (менее 3 секунд для того же размера коллекции).
Фактически, используя отладчик, я обнаружил, что загрузка представления, содержащего диаграмму ColumnSeries, является наиболее трудоемкой частью, даже до того, как заданы данные для графика.Я использую LineSeries таким же образом, и он загружается намного быстрее.
Я использую следующий код для ColumnSeries:
<chart:SfChart x:Name="SumChart1" Margin="5,0,10,0">
<chart:SfChart.PrimaryAxis>
<chart:DateTimeAxis Title="Time" EdgeLabelsDrawingMode="Center"
IntervalType="{Binding IntervalType, Mode=TwoWay}"
x:Name="SumAxis" />
</chart:SfChart.PrimaryAxis>
<chart:SfChart.SecondaryAxis>
<chart:NumericalAxis Title="{Binding SelectedVariableForGraph.Name}" />
</chart:SfChart.SecondaryAxis>
<chart:ColumnSeries
x:Name="SumSeries"
Label="Sum"
XBindingPath="Key"
YBindingPath="Value"
ItemsSource="{Binding SumGraph, Mode=TwoWay}"
ListenPropertyChange="True"
>
<chart:ColumnSeries.ColorModel>
<chart:ChartColorModel>
<chart:ChartColorModel.CustomBrushes>
<Color>Orange</Color>
</chart:ChartColorModel.CustomBrushes>
</chart:ChartColorModel>
</chart:ColumnSeries.ColorModel>
</chart:ColumnSeries>
</chart:SfChart>
Меня интересует только исправление версии Android.Я проверил проблему с помощью эмулятора Android HAXM и устройства Xiaomi Mi A1, с похожими результатами (устройство кажется только немного быстрее).
При поиске ответа на этот вопрос я обнаружил, что «SfChart рендеритпо умолчанию для столбцов в Android и iOS как для серии FastColumn "(https://www.syncfusion.com/forums/138607/fastcolumnbitmapseries-on-sfchart-xforms),, но в моем случае (для Android) это не работает.
Есть что-то, чего мне не хватает?
РЕДАКТИРОВАТЬ: Я использую SfTabItem, чтобы показать диаграмму (у меня есть 3 диаграммы ColumnSeries и 1 Series на странице). Ось X имеет тип DateTime, а ось Y имеет тип double. Эта деталь, кажется,вызывая проблему