为什么UWP 10开发如此之慢?

时间:2015-09-29 23:28:36

标签: windows visual-studio-2015 uwp

在VS 2015为通用Windows平台10编写应用程序时,有没有其他人在开发过程中遇到任何问题?与使用类似的基本WPF应用程序相比,编译,调试甚至在窗口之间切换都非常缓慢。

我无法在谷歌上找到任何关于这种体验的提及,这让我想知道我的设置中是否有一些东西在UWP开发中扔了一把扳手。

有没有人经历过这种情况,或者知道加速发展的任何方法?

更新

此问题的上下文是在DEBUG模式下编译,而不是RELEASE(.NET native)模式。

3 个答案:

答案 0 :(得分:5)

只需2美分,但我最近发现在开展UWP项目时存在一个大问题。

我正在与Xamarin合作,以便在Android / iOS / WP8和UWP上兼容应用。

但最近在Visual Studio 2015 Update 2(使用W10)中工作,我的表现非常慢,界面非常迟缓,构建,调试,XAML,一切都很慢。

然后我发现了一些非常糟糕的东西:如果你将你的UWP项目设置为你的解决方案的起始项目,那么Visual Studio 2015会变得很慢!我不是什么是真正的问题,但这对我来说是一个真正的问题!

我将启动项目设置在解决方案中的其他项目中,而不是UWP和WP8。如果我需要调试,我在解决方案资源管理器中右键单击启动它们,然后调试。

此后,VS2015对我来说没有性能问题。

答案 1 :(得分:3)

引人入胜......简直令人着迷。

关闭"使用.NET Native工具链编译"在主要UWP应用程序的Build属性上。 UWP图书馆似乎不提供原生工具链选项。

我正在解决为什么我的文件解析应用程序执行(不构建)作为发布版本而不是调试版本所花费的时间的两倍。完全与应该发生的事情相反。我也注意到完成发布版本的时间很长,但暂时还是次要问题。

如果您在完成重建期间观看输出窗口,您将会记录您所拥有的任何库,并且您已经习惯了。然后主应用程序将陷入困境 - 很多。

检查项目的Build属性,并注意只有主要的UWP应用程序具有"使用.NET Native工具链编译"选项。图书馆没有它。此外,默认情况下,只有发布版本启用它。调试版本没有。果然,在发布版本上关闭它,发布版本开始以调试版本的速度完成。

然后奇怪的奇怪...我的UWP应用程序发布版本现在运行速度比调试版本快10%,而它以前运行的速度几乎要慢两倍。

这一切都非常违反直觉。与非本机构建相比,本机构建应该以尽可能快的速度运行。 Visual Studio下的编译器当然可以选择更加努力地优化处理器的构建。

我想知道是否还有其他任何关于本机构建工具的问题,以及是否有解释。如果构建工具试图针对特定的本机处理器进行优化,则可以完全理解构建时间慢的问题。但是,本机代码运行速度比非本机代码慢得多,这完全是违反直觉的。在这种情况下,MSFT似乎不愿意发布原生构建工具似乎没有意义,这使得人们想知道这些工具是否被错误地使用或者其他一些误解是否足够。

答案 2 :(得分:2)

2016年10月更新

Visual Studio 2015 Update 3开始,此答案已不再适用。微软在将开发环境恢复到稳定状态方面做得非常出色。虽然我目前在XAML设计师,编码和建筑更快更愉快。我希望XAML设计师中发现的大多数令人衰弱的问题在下一个Visual Studio 15中得到解决。

  

有没有人经历过这个

即可。

由于UWP,团队中的每个人都在失去头发。我几乎确信微软要我讨厌C#& XAML。

  

......或者知道加快发展的方法吗?

我正在将我的应用程序移植到UWP,但我无法终止对Win8的支持。所以,我在同一个解决方案中有两个项目。对我来说,为了加快速度,我将构建配置修改为“Debug-UWP”和“Release-UWP”,以便在我使用Windows 10应用程序时排除Win8应用程序和项目。这只是一个小小的缓解。建筑仍然是一种痛苦的经历。

同时

您可以禁止NuGet在每次构建时恢复包。转到选项> NuGet程序包管理器并取消选中“在Visual Studio中构建期间自动检查缺少的程序包”。这也很小,但每一点都有帮助。