【译】Visual Studio 2022 - 17.8 的性能改进

Visual Studio 2022 17.8版本欢迎一系列令人振奋的性能增强,包括响应式文件打开体验,改进 Razor/Blazor 的响应性,加速 F5,优化的 C++ 虚幻引擎智能感知和非 SDK 风格 .NET 项目的构建加速。这些变化的核心是我们对提高性能的承诺,为编码体验提供一个理想的平台,不仅无缝而且高效。拥抱这些改进,以实现更高效的编码之旅。准备好迎接激动人心的体验吧!

响应式文件打开体验

我们引入了异步文件打开,以增强在 Visual Studio 中处理大文件时的响应能力。这一改进允许UI在加载文件内容期间保持响应。通过异步文件加载,您可以在打开解决方案后更快地与 Visual Studio 进行交互。我们的实验显示了交互性的显著改善,打开包含大型文件的解决方案的响应速度提高了10%。这个特性目前在 SDK 风格的 .NET 项目中是激活的,我们正在积极地努力在未来的更新中将这个改进扩展到所有的项目类型。

以前

现在

改进 Razor/Blazor 的响应性

使用 Razor 和 Blazor 的解决方案将体验到更好的响应。我们通过在 Visual Studio 和 Roslyn 之间的跨进程通信期间显著减少内存分配来实现这一目标。我们测试了 OrchardCore 解决方案,结果令人印象深刻。为了打开解决方案并准备好 Razor 智能感知,我们分配了大约 1.4GB 的内存。更少的堆分配意味着垃圾收集器的工作更少,从而提高了响应性。

加速 F5

通过优化断点的设置,我们大大增强了本地项目的 F5 性能。任何给定项目所看到的改进取决于带有断点的文件的数量、带有符号的 dll 的数量等。此外,我们还优化了 Windows 应用程序的 PDB 加载过程,减少了定位 PDB 后加载所需的时间。在我们的测试中,这些优化为虚幻编辑器项目提供了20%的显著速度提升。

优化的 C++ 虚幻引擎智能感知

我们改进了在打开先前打开的 C++ 文件后智能感知和着色的速度。我们总是为打开的文件缓存智能感知状态。在17.8中,我们重构了从缓存读取的操作,以便首先计算最关键的信息,包括所选引用的着色和高亮显示。这种优化可以帮助您提高工作效率。

非 SDK 风格 .NET 项目的构建加速

Visual Studio 17.8将构建加速扩展到针对非 SDK 风格项目(例如针对 .NET Framework 4.8 或更低版本的项目)的托管应用程序,从而对构建时间产生重大影响。若要启用,请按如下方式设置 msbuild 项目属性:

复制代码
<Project> 
        <PropertyGroup>  
              <AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
       </PropertyGroup>  
</Project>

这建立在17.5中为 SDK 风格的项目成功引入的基础上,显著减少了增量构建时间。

在我们使用内部解决方案进行的内部测试中,我们注意到增量构建时间达到了50%的改善。然而,实际的改进取决于构建开始时项目的状态。具体来说,与解决方案中的全部项目相比,修改的项目越少,改进就越大。您所经历的实际改进程度将取决于您的项目及其修改的具体情况。

我们重视您的意见!

我们相信这些性能增强将显著改善您的开发体验,使其更加高效和愉快。您的反馈对于帮助我们改进产品并满足您的期望至关重要。我们鼓励您通过开发者社区向我们提供反馈:通过 Report-a-Problem 报告任何 bug 或问题,并分享您的建议。或者,请在下面留下您的评论。我们感谢您的反馈,并期待着根据您宝贵的见解来不断改进 Visual Studio 的用户体验。

原文链接:https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-8-performance-enhancements/