【问题标题】:Extremely bad performance in .Net Native compiled UWP app.Net Native 编译的 UWP 应用程序中的性能极差
【发布时间】:2016-05-07 11:13:54
【问题描述】:

当我在启用 .Net Native Toolchain 的情况下编译我的 UWP 应用时,我遇到了非常糟糕的性能。

我分析了正在运行的代码(本机),似乎依赖反射的方法(Unity IoC、Behaviors-SDK、Linq、sqlite-net)是罪魁祸首。

到目前为止,我使用的是 Default.rd.xml。

<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
   <Application>
     <Assembly Name="*Application*" Dynamic="Required All" />
   </Application>
</Directives>

到目前为止,我没有 MissingMetaDataExceptions。当我删除 Application 行时,这些只会按我的预期开始。

这里有什么我没有看到的吗?该应用程序在没有 .Net Native 的情况下具有非常好的性能。如果我从头开始编写 Default.rd.xml 来处理所有会出现的 MissingMetaDataExceptions 是否有帮助?

【问题讨论】:

  • 你解决了吗?因为我可以在我的应用中看到相同的行为...
  • 有同样的体验,到目前为止,在 UWP 商店应用中使用 .NET 本机使我的开发体验变得更糟。
  • 目前没有成功。我删除了所有有一点帮助的 Behaviors 痕迹,但与非 Native 相比它仍然很慢。
  • @JohanFalk 检查这个explanation
  • @kubakista 感谢您的信息。这很可能是原因。我们正在使用 MVVM Light。

标签: .net windows-runtime windows-store-apps uwp .net-native


【解决方案1】:

UWP Tools in version 1.3.1 确实减轻了 MvvmLight 对性能的影响。

它仍然有点慢,所以我将 IoC 容器从 Unity 切换到 AutoFac。这也有所帮助,但仍然不够好。最后,我不得不再次通过 new 创建我的 ViewModel,而不使用 IoC-Container 的 Resolve。现在它非常活泼。我确实删除了所有行为,这可能会有所帮助,但如果不再次实施它们,我不确定这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-17
    • 2016-02-15
    • 1970-01-01
    • 2023-03-20
    • 2016-11-07
    • 2016-05-21
    • 2018-05-08
    • 2019-04-24
    相关资源
    最近更新 更多