3

是否存在 Windows 8 XAML 应用程序的用户体验会有所不同的情况,具体取决于它是用 C# 还是 C++ 开发的(即托管与本机)。

例如,如果应用程序通过包含etcGridView的复合体绑定到 500 个左右的数据项,从用户的角度来看,一种语言/技术会比另一种表现更好吗?DataTemplateIValueConverters

我试图确定是否将 C++ 或 C# 用于相当复杂、数据量大的 Windows 商店 XAML 应用程序,该应用程序需要在 ARM 和 X86/X64 架构上运行良好。

编辑

这是对我的问题的澄清:

是否存在 Windows 8 XAML 应用程序的用户体验会有所不同(如果有)的任何场景,具体取决于它是开发为使用托管 CLR 运行,还是编写为在本机环境中运行

编辑 2

好的 - 忘记编码风格。创建看起来几乎完全相同的 C#(托管)和 C++(非托管)应用程序非常容易,让我们假设出于这个问题的目的,没有实现差异。

  1. 代码足够相似以至于无关紧要
  2. 您至少有 500 个数据项
  3. 你有一个 GridView
  4. 您的 ItemTemplate 中有一个复杂的 DataTemplate(两种方案中的相同模板)

问题 - 用户体验是否相同。有没有人有答案,还是我必须编写所有代码并自己尝试????

4

2 回答 2

5

它不依赖于 C# 与 C++。

Windows XAML 严重依赖 GPU,并且假设您使用合理编写的代码和具有足够时间复杂度的算法,C# 和 C++ 应用程序在与 UI 相关的所有任务上的表现都相似。

时间要么花在更新 GPU 缓冲区上,要么花在 Windows 或 XAML 库中的某个地方——你选择的语言不会在任何地方产生影响。

于 2013-01-11T13:24:34.493 回答
3

ListView 中的 500 个项目趋于偏大。大多数占用处理器时间的代码将是 Windows 运行时,渲染 UI 和处理滚动等;并且 C# 和 C++ 都使用完全相同的 UI 运行时。相比之下,花在您自己的代码上的 CPU 时间可能微不足道。您的优化工作主要涉及关注您如何定义项目模板、启用虚拟化等。

因此,实现语言可能对您的应用程序的性能影响不大。选择您可以最有效地开发的任何一种语言。

于 2013-01-11T13:21:06.783 回答