【译】Visual Studio 2022 - 17.10 性能增强
我们很高兴地宣布 Visual Studio 2022 的最新更新,它为您带来了 IDE 各个领域的一系列性能增强。在这篇博客中,我们将重点介绍17.10版本中一些最显著的改进,比如更快的 Windows Forms 设计器加载、更快的 Razor 着色、更快的解决方案加载以及更少的 dll 开销。
Windows Forms 设计器加载速度
我们从开发人员和合作伙伴那里听说,在.NET Core 3.1 及更高版本的项目中,Windows Forms 设计器的加载速度可能很慢。在这些情况下,设计器被加载到与 Visual Studio 一起运行的单独进程中。加载此进程的时间可能很长,具体取决于项目的依赖项。当在某些情况下需要重新启动此设计器进程时,例如当项目引用更改时,影响会加重。为了改善设计器重新启时间,我们优化了如何确定优先级并将程序集加载到设计器进程中。
我们很高兴地宣布,这些增强已经产生了显著的设计时性能改进,在典型的业务应用程序中,从30%到惊人的50%不等。我们鼓励您探索更新后的设计器,并通过 VS 反馈渠道分享您宝贵的反馈意见,以便我们能够继续改进 Windows Forms 设计器的性能。
Razor/C# 着色速度
为 C# 代码着色是一项复杂的操作。当 Razor 页面中有 C# 代码时, Razor 会将这些代码的着色任务委托给 C# 语言服务(Roslyn)。我们的数据显示,在大多数情况下,这种着色非常快,但大约10%的情况可能会持续数百毫秒。
Razor 编辑体验的性能改进 是我们工程师始终关注的焦点;在17.10中,他们专注于缓慢的着色。在他们的分析中,他们发现 Roslyn 执行了大量的工作,而这些工作在代码着色的特定上下文中并不真正需要(例如,确定哪些变量可能为空)。
已经进行了优化,这样 Roslyn 就可以完成在着色上下文中所需要的工作。根据17.10预览版本的数据,我们注意到在最慢的情况下,着色时间减少了25%。如果您注意到 Razor 在着色前有延迟,我们希望您能注意到17.10的改进。
更快的 .NET 解决方案加载
打开解决方案的速度是我们在 Visual Studio 的每次更新中都在改进的,17.10也不例外。Visual Studio 使用了一种称为评估缓存(evaluation cache)的东西,这样在每次打开解决方案时,MSBuild 都不必重新评估所有的依赖项。
在17.10中,这个缓存的内容进行了大量的调优,以便更有效地加载它。我们对 OrchardCore 解决方案的测量表明,缓存大小下降了近50%。对我们的用户来说更重要的是,这使得打开解决方案的时间减少了10%。
改善基础
在17.10中,除了改进 CPU 和内存使用等基础外,我们还减少了在特定场景中加载的 dll 数量。通过对加载 .NET 项目的代码进行仔细的重构和调优,我们将加载的 dll 数量减少了10%!在带有机械硬盘的低端机器上加载 dll 可能很慢。此外,dll 加载会引起检查 dll 的杀毒软件的开销,因此我们希望这些改进将对较慢的机器有所帮助。
分享您的反馈并与 Visual Studio 保持联系!
我们感谢您花时间报告问题和提交建议,并希望您在使用 Visual Studio 时继续给我们反馈,告诉我们您喜欢什么以及我们可以改进什么。您的反馈对于帮助我们使 Visual Studio 成为最好的工具至关重要!您可以通过开发者社区与我们分享反馈,通过发送反馈来报告问题或分享您的建议,并分享您对新功能或改进现有功能的建议。
通过在 YouTube, Twitter, LinkedIn, Twitch 和 Microsoft Learn 上关注我们与 Visual Studio 团队保持联系。
我代表整个 Visual Studio 团队,感谢您的阅读和编码愉快!
原文链接:https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-10-performance-enhancements/

【译】Visual Studio 2022 - 17.10 性能增强的更多相关文章
- .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 ...
- .NET6系列:Visual Studio 2022 线路图
系列目录 [已更新最新开发文章,点击查看详细] 在上一篇博客<Visual Studio 2022>中介绍了VS2022的性能改进与重要功能.本文主要介绍在 Visual Stud ...
- Visual Studio 2022 Preview 1 和.NET 6 Preview 5 正式发布
具有里程碑意义的Visual Studio 2022 Preview 1正式发布,重点是64位,而没有增加新功能,并且同时也发布了.NET 6 Preview 5. https://devblogs. ...
- Visual Studio 2019 v16.10 和 v16.11 Preview 1 现已推出!
Visual Studio 2019 v16.10有什么新功能? 我们很高兴地宣布Visual Studio 2019 v16.10 GA 和 v16.11 preview 1发布.此版本使我们的主题 ...
- 地表最强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 Community 不完全攻略
0. 前言 建议结合视频阅读哦 Visual Studio 2022 Community 不完全攻略 有问题或者意见欢迎评论 ! 1. 下载&安装 Visual Studio Communit ...
- [翻译]正式宣布 Visual Studio 2022
原文: [Visual Studio 2022] 首先,我们要感谢正在阅读这篇文章的你,我们所有的产品开发都始于你也止于你,无论你是在开发者社区上发帖,还是填写了调查问卷,还是向我们发送了反馈意见,或 ...
- .NET6系列:微软正式宣布Visual Studio 2022
系列目录 [已更新最新开发文章,点击查看详细] 首先,我们要感谢正在阅读这篇文章的你,我们所有的产品开发都始于你也止于你,无论你是在开发者社区上发帖,还是填写了调查问卷,还是向我们发送了反馈意 ...
- 微软发布了Visual Studio 2022 Preview 1 以及.NET 6 Preview 5
Microsoft 今天宣布了Visual Studio 2022 的第一个预览版,并且同时也发布了.NET 6 Preview 5. https://devblogs.microsoft.com/v ...
随机推荐
- 利用Navicat的历史日志查询表的索引信息(还可以查询很多系统级别的信息)
1.使用前提 所有的能用Navicat连接的数据库都可以使用这个方法 DDL/DML语句都有 2.Navicat中的历史日志 3.比如查询mysql的表的索引 先打开"历史记录" ...
- Mybatis学习二(字段名与实体类属性名不相同/关联查询)
1.在写项目的时候会遇到数据库字段名与实体类属性名不同的情况,可能是为了方便也可能是其他要求,whatever,我们现在来解决这个问题 准备一个数据库表如下 1 CREATE TABLE orders ...
- Blazor流程编排的艺术:深入Z.Blazor.Diagrams库的使用与实践
为现代网页应用开发提供动力的其中一个重要方面就是前端框架的强大功能与灵活性.而在.NET生态中,Blazor以其独特的工作方式和优势逐渐获得了开发者们的青睐.今天,在这篇文章中,我将带你深入探索一个基 ...
- Linux grep根据关键字匹配前后几行
在Linux环境下,查看文件内容时,很多时候需要查看指定关键字的前后几行,如查看日志文件时,如果日志文件太大,想直接在Linux 终端中查看,可以grep 'partten' filename 进行过 ...
- 《最新出炉》系列入门篇-Python+Playwright自动化测试-45-鼠标操作-下篇
1.简介 鼠标为我们使用电脑提供了很多方便,我们看到的东西就可以将鼠标移动过去进行点击就可以打开或者访问内容,当页面内容过长时,我们也可以使用鼠标滚轮来实现对整个页面内容的查看,其实playwrigh ...
- cesium介绍和国内主要学习网站汇总
Cesium官方网站 建议大家将Cesium官网的博客都读一遍,博客大概分为三类,主要是技术类,比如性能优化,调度算法等,一类是定期的新版本特性,能够了解Cesium新功能和新特性,还有一类是大事记, ...
- 可以远程剪视频、做PS设计的远程控制软件体验
编辑切换为居中 在这里插入图片描述 远程连接 资源共享的新时代 过去很长一段时间,计算机网络最主要的用途就是分享数据资源.进入新时代,伴随网络的高速发展以及云计算等技术的发展,我们进入了不仅仅是数 ...
- Visual Studio之中文智能提示(IntelliSense本地化)
要设置中文智能提示,我们就得先了解下IntelliSense. IntelliSense 是一种代码完成辅助工具,可以在不同的集成开发环境 (IDE) 中使用,例如 Visual Studio. 默认 ...
- 电脑临时文件清理2个方法?%temp% cleanmgr
按住电脑快捷键win+R,打开运行框 输入代码 %temp%,点击回车enter或者点击确定,打开temp文件夹[此处存放的都是系统无用的缓存垃圾] 按快捷键Ctrl + A ,点击delete,删除 ...
- Android OpenMAX(八)如何学习OMXNodeInstance
前面一篇文章中我们看到media.codec service创建OMX组件后会把组件传递给一个OMXNodeInstance对象,并且把OMXNodeInstance对象返回到Framework层,F ...