【译】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版本然后 ...
随机推荐
- 如何将训练好的Python模型给JavaScript使用?
前言 从前面的Tensorflow环境搭建到目标检测模型迁移学习,已经完成了一个简答的扑克牌检测器,不管是从图片还是视频都能从画面中识别出有扑克的目标,并标识出扑克点数.但是,我想在想让他放在浏览器上 ...
- 2023-08-04:村里面一共有 n 栋房子 我们希望通过建造水井和铺设管道来为所有房子供水。 对于每个房子 i,我们有两种可选的供水方案: 一种是直接在房子内建造水井 成本为 wells[i -
2023-08-04:村里面一共有 n 栋房子 我们希望通过建造水井和铺设管道来为所有房子供水. 对于每个房子 i,我们有两种可选的供水方案: 一种是直接在房子内建造水井 成本为 wells[i - ...
- Linux 之 shell 编程
Linux 之 shell 编程学习笔记(并不完全正确,有误请指正) 概念性知识点 脚本概念 脚本(Script),是使用一种特定的描述性语言,依据一定的格式编写的 可执行文件 运行脚本要求 脚本须有 ...
- CF-1860C Game on Permutation题解
题意:在一条数轴上,Alice可以跳到在你所在点前面且值比当前所在点小的点.每回合可以向任意符合要求的点跳一次.当轮到Alice的回合同时不存在符合要求的点,Alice就赢了.Alice可以选择一个点 ...
- 千万级数据深分页查询SQL性能优化实践
一.系统介绍和问题描述 如何在Mysql中实现上亿数据的遍历查询?先来介绍一下系统主角:关注系统,主要是维护京东用户和业务对象之前的关注关系:并对外提供各种关系查询,比如查询用户的关注商品或店铺列表, ...
- 行行AI人才直播第17期:无界AI联合创始人马千里《AIGC,比生产力还多》
谁也没有想到,短短几个月内,AI就在各行各业掀起了一阵狂风暴雨.ChatGPT.Stable Diffusion.Midjourney--AI已经变得十八般武艺样样精通,不仅能够高效率完成很多日常工作 ...
- Strategy Pattern and Polymorphism —— Behavioral Class
策略模式着重于封装和替换 不同的算法或行为,以便在运行时进行选择. Simple example - Computer and USB interface 现代人对计算机.USB接口还有各种设备之间的 ...
- 杰哥教你面试之一百问系列:java多线程
java多线程是java面试中的高频问题,如何才能在面试中脱颖而出呢?熟读这里的一百个java多线程面试问题即可. 1. 什么是线程?什么是进程? 回答: 线程是操作系统能够进行调度的最小执行单位,它 ...
- oracle导入导出某个schema数据
背景 公司之前部门拆分,但一些服务并没有拆分清楚.其中一个老服务,两个部门都在用,现在为了避免互相影响,决定克隆该服务.克隆就要克隆全套,当然也包括数据库,我们这个老服务,用的oracle,所以,就涉 ...
- Spring Bean 的作用域(Bean Scope)
前言 大家好,我是 god23bin,今天我们来聊一聊 Spring 框架中的 Bean 作用域(Scope). 什么是 Bean 的作用域? 我们在以 XML 作为配置元数据的情况下,进行 Bean ...