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/

【译】Visual Studio 2022 - 17.8 的性能改进的更多相关文章

  1. .NET 6.0.6 和 .NET Core 3.1.26、Visual Studio 2022 17.2 和 17.3 Preview 2 和 .NET 7.0 Preview 5 同时发布

    Microsoft 昨天发布了适用于 .NET 6.0.6 和 .NET Core 3.1.26.NuGet.Visual Studio 2019 和 Visual Studio 2022 17.2 ...

  2. Visual Studio 2022 Preview 1 和.NET 6 Preview 5 正式发布

    具有里程碑意义的Visual Studio 2022 Preview 1正式发布,重点是64位,而没有增加新功能,并且同时也发布了.NET 6 Preview 5. https://devblogs. ...

  3. [翻译]正式宣布 Visual Studio 2022

    原文: [Visual Studio 2022] 首先,我们要感谢正在阅读这篇文章的你,我们所有的产品开发都始于你也止于你,无论你是在开发者社区上发帖,还是填写了调查问卷,还是向我们发送了反馈意见,或 ...

  4. .NET6系列:微软正式宣布Visual Studio 2022

    系列目录     [已更新最新开发文章,点击查看详细] 首先,我们要感谢正在阅读这篇文章的你,我们所有的产品开发都始于你也止于你,无论你是在开发者社区上发帖,还是填写了调查问卷,还是向我们发送了反馈意 ...

  5. .NET6系列:Visual Studio 2022 线路图

    系列目录     [已更新最新开发文章,点击查看详细] 在上一篇博客<Visual Studio 2022>中介绍了VS2022的性能改进与重要功能.本文主要介绍在 Visual Stud ...

  6. 微软发布了Visual Studio 2022 Preview 1 以及.NET 6 Preview 5

    Microsoft 今天宣布了Visual Studio 2022 的第一个预览版,并且同时也发布了.NET 6 Preview 5. https://devblogs.microsoft.com/v ...

  7. C++ 与 Visual Studio 2022 和 WSL(五)——WSL2

    Build and Debug C++ with WSL 2 Distributions and Visual Studio 2022 References Build and Debug C++ w ...

  8. 地表最强IDE ——Visual Studio 2022正式发布

    地表最强IDE--Visual Studio 2022昨天正式发布啦! 堪称宇宙第一IDE工具集的Visual Studio,在经过不断更新优化之后,新版本就要与大家见面了.本次新版本发布,有许多令人 ...

  9. Visual Studio 2022 初探 (vs2022附激活码)

    前言 Visual Studio 2022 正式版来了.新版本带有 go-live 许可证,可供生产使用.在 Visual Studio 2019 的基础上,新版集成开发坏境提供了非常多的改进,包括对 ...

  10. Visual Studio 2022 git error Unable to negotiate with xx.xxx.xxxx port 22: no matching host key type found. Their offer: ssh-rsa

    前言 前两天因为升级了Git导致git提交拉取的时候都提示下面这个异常,然后经过一番折腾以后终于把这个问题解决了.但是今天我升级了下Visual Studio 2022将其升级到了17.1.3版本然后 ...

随机推荐

  1. tcpdump抓指定端口/ip的数据包

    抓指定端口,这里以7070端口为例 tcpdump -i ens192 port 7070 -s 0 -l -A -w /chris/70.pcap ens192是网卡  抓完ctrl c停止 抓指定 ...

  2. Blazor前后端框架Known-V1.2.13

    V1.2.13 Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行. Gitee: https://gitee.com/known/Known Git ...

  3. java学习阶段一

    扩展名默认没有打开 FIRST APP public class HelloWorld { public static void main (String[] args){ System.out.pr ...

  4. 三维模型OSGB格式轻量化重难点分析

    三维模型OSGB格式轻量化重难点分析 在三维模型应用中,为了适应移动设备的硬件和网络限制等问题,OSGB格式轻量化处理已经成为一个重要的技术手段.但是,在实际应用中,OSGB格式轻量化仍然存在着一些重 ...

  5. 《SQL与数据库基础》01. SQL概述 · 分类

    目录 SQL概述 SQL语法特征 SQL分类 本文以 MySQL 为例 SQL概述 SQL(Structured Query Language),结构化查询语言,用于访问和处理数据库的标准的计算机语言 ...

  6. springBoot使用注解Aop实现日志模块

    我们在日常业务操作中需要记录很多日志,可以在我们需要的方法中对日志进行保存操作,但是对业务代码入侵性大.使用切面针对控制类进行处理灵活度不高,因此我们可以使用自定义注解来针对方法进行日志记录 1.注解 ...

  7. Linux下安装MySQL问题及报错解决

    前言: 在Linux环境下,安装MySQL服务 环境: 虚拟机CentOS7 \-----------------------------------------------\ 流程: 确保mysql ...

  8. 分布式事务:XA和Seata的XA模式

    上一篇内容<从2PC和容错共识算法讨论zookeeper中的Create请求>介绍了保证分布式事务提交的两阶段提交协议,而XA是针对两阶段提交提出的接口实现标准,本文则对XA进行介绍. 1 ...

  9. win10系统单独编译和使用WebRTC的回声消除(AEC)、音频增益(AGC)、去噪(NS)模块

    一.简介 本人想单独编译并使用WebRTC的音频回声消除模块,奈何技术有限,于是在百度的海洋里大海捞针,发现了https://www.cnblogs.com/mod109/p/5827918.html ...

  10. ChatGPT 是如何产生心智的?

    一.前言 - ChatGPT真的产生心智了吗? 来自斯坦福大学的最新研究结论,一经发出就造成了学术圈的轰动,"原本认为是人类独有的心智理论(Theory of Mind,ToM),已经出现在 ...