Windows UWP:WinRTXamlToolkit.Controls.DataVisualization图表呈现速度慢

Windows UWP:WinRTXamlToolkit.Controls.DataVisualization图表呈现速度慢,windows,performance,charts,win-universal-app,Windows,Performance,Charts,Win Universal App,我正在为Windows10Mobile开发一个应用程序,需要在该应用程序中绘制一个图表,我正在使用WinRTXamlToolkit for UWP进行此操作 总而言之,图表在设计样式、填充数据等方面都很好,但我遇到的一个主要问题是,图表的呈现需要+-15秒,这相当阻碍了流畅的用户体验 该图表由512个值填充,有两个系列(areaseries+lineseries)和一些通过xaml定制的样式(图表本身是用C#创建的)。 有没有可能加快速度 感谢可以将图表控件调整为运行更快,但是512是相当多的数

我正在为Windows10Mobile开发一个应用程序,需要在该应用程序中绘制一个图表,我正在使用WinRTXamlToolkit for UWP进行此操作

总而言之,图表在设计样式、填充数据等方面都很好,但我遇到的一个主要问题是,图表的呈现需要+-15秒,这相当阻碍了流畅的用户体验

该图表由512个值填充,有两个系列(areaseries+lineseries)和一些通过xaml定制的样式(图表本身是用C#创建的)。 有没有可能加快速度


感谢可以将
图表
控件调整为运行更快,但是512是相当多的数据点,因此可能会很困难

我建议采用4步方法

  • 确保在上使用.NET本机编译构建发布配置时问题仍然存在
  • 使用探查器进行一些性能分析,找出是否有可以改进的代码
  • 考虑减少数据点的数量。在手机屏幕上显示512个值可能不会有多大影响,您可以将其降低到10-50分
  • 尝试其他一些图表控件或更好的方法-实现使用Direct2D绘制的自己的图表控件(使用SharpDX或Win2D避免切换到C++)。您应该能够在几天的工作中获得实时性能。我有一个示例应用程序,它使用Win2D呈现实时图表更新

  • 做了一些进一步的测试:生成两个chartseries,包括用数据填充它们、设置样式等几乎立即完成。因此,实际的阻塞过程是将完全准备好的图表实际添加到UI中(使用
    ChartPanel.Child=chart
    ,其中ChartPanel是空的StackPanel)有什么想法吗?简短的更新:在此期间,我尝试通过xaml尽可能多地创建图表,我只通过C#+将这些值添加到图表中,如下所示:
    ElevationChart.Height=ActualHeight/2.5
    ElevationAreaSeries.ItemsSource=eleChart.Items
    高程区域系列.DependentRangeAxis=eleChart.DependentRangeAxis
    高程区域系列.IndependentAxis=eleChart.IndependentAxis但是图表的加载/呈现仍然和以前一样慢。没人知道吗?谢谢你的帮助。另一个问题:有没有可能在后台进行这种阻塞呢?我的问题不是直接加载所需的时间,而是它阻塞了ui线程,因此应用程序会冻结几秒钟..我对此表示怀疑,因为问题发生在创建ui元素时.Hi。我有/有完全相同的问题:使用该工具包绘制图表的性能很慢(大约400个数据点,大约需要7-8秒)。然而,我刚刚注意到winrtxamltoolkit在2016年3月发布了一个新的nuget包(两年来首次更新!)。新版本的性能似乎更好!因此,如果您还没有更新软件包,请尝试更新您的软件包:)好吧,在过去两年中有很多更新,但它们都在更新中,我保持主软件包与8.1兼容。我最近才决定打破这种兼容性,现在主要的包系列都是UWP。此外,事实上,我最近做了一些更改,试图通过删除数据更改时使用的动画来提高更新性能,因为大多数人似乎更关心更新性能,而不是漂亮的动画。我很高兴听到它对你有用!