【译】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/

【译】Visual Studio 2022 - 17.8 的性能改进的更多相关文章
- .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 ...
- Visual Studio 2022 Preview 1 和.NET 6 Preview 5 正式发布
具有里程碑意义的Visual Studio 2022 Preview 1正式发布,重点是64位,而没有增加新功能,并且同时也发布了.NET 6 Preview 5. https://devblogs. ...
- [翻译]正式宣布 Visual Studio 2022
原文: [Visual Studio 2022] 首先,我们要感谢正在阅读这篇文章的你,我们所有的产品开发都始于你也止于你,无论你是在开发者社区上发帖,还是填写了调查问卷,还是向我们发送了反馈意见,或 ...
- .NET6系列:微软正式宣布Visual Studio 2022
系列目录 [已更新最新开发文章,点击查看详细] 首先,我们要感谢正在阅读这篇文章的你,我们所有的产品开发都始于你也止于你,无论你是在开发者社区上发帖,还是填写了调查问卷,还是向我们发送了反馈意 ...
- .NET6系列:Visual Studio 2022 线路图
系列目录 [已更新最新开发文章,点击查看详细] 在上一篇博客<Visual Studio 2022>中介绍了VS2022的性能改进与重要功能.本文主要介绍在 Visual Stud ...
- 微软发布了Visual Studio 2022 Preview 1 以及.NET 6 Preview 5
Microsoft 今天宣布了Visual Studio 2022 的第一个预览版,并且同时也发布了.NET 6 Preview 5. https://devblogs.microsoft.com/v ...
- C++ 与 Visual Studio 2022 和 WSL(五)——WSL2
Build and Debug C++ with WSL 2 Distributions and Visual Studio 2022 References Build and Debug C++ w ...
- 地表最强IDE ——Visual Studio 2022正式发布
地表最强IDE--Visual Studio 2022昨天正式发布啦! 堪称宇宙第一IDE工具集的Visual Studio,在经过不断更新优化之后,新版本就要与大家见面了.本次新版本发布,有许多令人 ...
- Visual Studio 2022 初探 (vs2022附激活码)
前言 Visual Studio 2022 正式版来了.新版本带有 go-live 许可证,可供生产使用.在 Visual Studio 2019 的基础上,新版集成开发坏境提供了非常多的改进,包括对 ...
- 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版本然后 ...
随机推荐
- vlunhub笔记(一)deathnote
(一)查询靶机ip 通过 arp-scan -l 查询目标靶机ip,查询结果如下图红框所示. (二)信息收集 直接访问目标ip,发现无法访问,只返回网站域名. 网站返回域名,就将该域名添加进hosts ...
- 使用MediatR和FluentValidation实现CQRS应用程序的数据验证
本文将重点介绍如何通过MediatR的管道功能将FluentValidation集成到项目中实现验证功能. 什么是CQRS? CQRS(Command Query Responsibility Seg ...
- JS遍历Json串并获取Key和Value
//data为json串 for (var key in data) { console.log(key); console.log(data[key]); }
- HDFS核心概念与架构
HDFS简介 HDFS是Hadoop项目的核心子项目,在大数据开发中通过分布式计算对海量数据进行存储与管理,它基于流数据模式访问和处理超大文件的需求而开发,可以运行在廉价的商用服务器上,为海量数据提供 ...
- 为什么 Python 代码在函数中运行得更快?
哈喽大家好,我是咸鱼 当谈到编程效率和性能优化时,Python 常常被调侃为"慢如蜗牛" 有趣的是,Python 代码在函数中运行往往比在全局范围内运行要快得多 小伙伴们可能会有这 ...
- dedebiz 清理冗余废弃未引用图片方法
原理描述: 在原有织梦后台菜单中增加"清理冗余图片按钮",实现清理冗余图片的功能. 操作步骤: 1. 打开后台admin\sys_sql_query.php代码 在该文件中搜索如下 ...
- Solution -「NOI 2007」货币兑换
Description Link. 一共 \(n\) 天,每天可以卖出或者买入两种股票 \(A\) 和 \(B\).这两种股票在第 \(i\) 天的价值为 \(A_i\) 和 \(B_i\). 每天可 ...
- RabbitMQ保姆级教程最佳实践
一.消息队列介绍 1.消息队列概念 1.MQ全称为Message Queue,消息队列(MQ)是⼀种应⽤程序对应⽤程序的通信⽅法. 应⽤程序通过读写出⼊队列的消息(针对应⽤程序的数据)来通信,⽽⽆需专 ...
- WebApi中添加Jwt鉴权
前言 JSON Web Token(JWT)是一个非常轻巧的规范.这个规范允许我们使用 JWT 在用户和服务器之间传递安全可靠的信息.一个 JWT 实际上就是一个字符串,它由三部分组成,头部.载荷与签 ...
- Linux——Linux必备的基础知识总结
文章目录 一.Linux操作系统概述 1.发展 2.组成 3.Linux的特性: 二.Linux操作系统安装 1.Linux的选择 2.安装Ubuntu Desktop 3.基本操作 三.Linux文 ...