.Net Native 编译的 UWP 应用程序的性能极差
Extremely bad performance in .Net Native compiled UWP app
我在启用 .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 Tools in version 1.3.1 确实减轻了 MvvmLight 的性能影响。
它仍然有点慢,所以我将我的 IoC 容器从 Unity 切换到 AutoFac。这也有点帮助,但仍然不够好。最后,我不得不再次通过 new 创建我的 ViewModel,而不使用 IoC-Container 的 Resolve。现在它非常活泼。我确实删除了所有行为,这可能有所帮助,但如果不再次实施它们,我不确定这一点。
我在启用 .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 Tools in version 1.3.1 确实减轻了 MvvmLight 的性能影响。
它仍然有点慢,所以我将我的 IoC 容器从 Unity 切换到 AutoFac。这也有点帮助,但仍然不够好。最后,我不得不再次通过 new 创建我的 ViewModel,而不使用 IoC-Container 的 Resolve。现在它非常活泼。我确实删除了所有行为,这可能有所帮助,但如果不再次实施它们,我不确定这一点。