写点什么

Visual Studio“15”启动速度提升

  • 2016-10-23
  • 本文字数:1034 字

    阅读完需:约 3 分钟

在 Visual Studio“15”开发工作的技术预览阶段,微软称自己的主要目标之一是改善性能。他们已经对这些改进进行过一定程度的介绍,最近又通过更全面的信息进一步介绍了这些变化。本文将介绍这些让 VS“15”启动速度更快的改进。

更快速地启动 VS“15”

微软项目经理 Selma Ikiz提供了这一领域的细节,她的团队认为这些改进有助于加快VS“15”IDE 本身的启动速度:全新安装后首次启动VS“15”,典型的启动过程,以及配置变更后启动VS“15”的速度都有显著提升。

针对第一种情况,IDE 组件将尽可能延迟加载。诸如扩展管理器和Managed Extensibility Framework(MEF)等组件会在IDE 加载的同时并行加载,借此开发者将能尽快开始使用该程序。根据微软的性能评测,该团队估计相比VS2015,VS“15”的启动速度大约可以加快三倍。

例行启动速度的改进解决了VS“15”大部分常见使用场景中的性能问题:在用户启动该程序完成日常工作时,Ikiz 的团队注意到各种扩展是拖累Visual Studio 启动速度的主要原因。在VS“15”中,扩展可以用异步的方式加载。类似的,Visual Studio 的某些核心服务也可以异步加载。

当VS“15”检测到有加载速度太慢的扩展,会在IDE 中显示一个只出现一次的通知。随后会通过一个专门的“管理Visual Studio 性能”对话框列出影响启动速度的所有内容,包括扩展和编辑器窗口。扩展和工具窗口均可禁用,或维持原状不做更改,或也可在启动时自动隐藏。自动隐藏的工具窗口可由用户在程序启动后重新打开。

轻型解决方案加载

在Technical Preview 4 中首次引入的有限形式的轻型解决方案加载(Lightweight Solution Load)在TP5 中有了进一步完善。这一可选功能的目标在于让用户尽可能快速地获得可供使用的VS“15”。为此在打开一个解决方案后,程序并不会立刻加载该解决方案中包含的全部项目。每个项目将按需加载,此外很多例行任务(代码导航和编辑,以及项目构建)也不再要求必须完整加载项目。

目前该功能最大的受益者是大中型托管代码库。虽然也可用于C++ 等非托管语言,但这种情况下无法发挥该功能的全部收益。当所执行的操作需要加载某个被延迟加载的项目后,解决方案浏览器会通过文字信息和加载图标提醒用户该项目正在加载。

轻型解决方案加载在VS“15”中依然是一个可以随时启用的可选功能。启用/ 禁用该功能后无需重启动VS“15”即可生效。该功能位于选项 | 项目和解决方案对话框中,可通过“轻型解决方案加载(实验)”选项开启。

查看**** 英文原文: Improvements to Visual Studio “15” Startup

2016-10-23 19:002423
用户头像

发布了 283 篇内容, 共 110.4 次阅读, 收获喜欢 62 次。

关注

评论

发布
暂无评论
发现更多内容

Kvrocks 2.0.4 发布

Kvrocks

c++ redis Redis 协议 storage

Jetpack一统江湖!一个月彻底修改你的App架构!(1),kotlin协程源码分析

android 程序员 移动开发

Jetpack架构组件库-LiveData实战与应用-总有适合你的方案

android 程序员 移动开发

JetPack系列——Navigation(一),flutter安装androidsdk

android 程序员 移动开发

javascript中的原型与对象(一),12个View绘制流程高频面试题

android 程序员 移动开发

软件测试要遵循的原则有哪些?软件不存在缺陷是不可能的?为什么?

程序员阿沐

程序员 互联网 软件测试 测试工程师 测试原则

Jetpack之Paging,android面试自我介绍

android 程序员 移动开发

Jetpack_Data Binding入门指南,这些新技术你们都知道吗

android 程序员 移动开发

kotlin 协程最佳实践-android官网,软件开发面试题及答案

android 程序员 移动开发

万字解读鸿蒙轻内核物理内存模块

华为云开发者联盟

鸿蒙 内存 虚拟内存 物料内存 内存页

Jetpack Compose漫谈,搞懂这些直接来阿里入职

android 程序员 移动开发

Jetpack之DataBinding,2021Android最新大厂面试真题

android 程序员 移动开发

软件测试需要具备的技能(软技能硬技能)

程序员阿沐

编程 程序员 软件测试 教程 测试工程师

Java面试题八:抽象类和接口的区别,移动端开发技术创新

android 程序员 移动开发

Java虚拟机相关面试题(1),整理出Android逆向系列学习进阶视频

android 程序员 移动开发

Jetpack MVVM七宗罪 之三 :在 onViewCreated 中请求数据

android 程序员 移动开发

Jetpack一统江湖!一个月彻底修改你的App架构!,Android技术图谱

android 程序员 移动开发

King-JVM中的线程行为,面试考点与面试技巧

android 程序员 移动开发

【高并发】如何确保线程按照我们想要的顺序执行?

冰河

并发编程 多线程 高并发 异步编程 Java Concurrency

软件测试快速入门-软件测试行业现状-行业分析与职业规划

程序员阿沐

互联网 软件测试 自动化测试 计算机 测试工程师

kotlin 实战之委托总结,成为一名合格Android架构师

android 程序员 移动开发

IT圈的“年龄歧视”,移动互联网app开发实例

android 程序员 移动开发

IT-架构师绝对不能错过的-34-技术知识图谱帮你轻松拿下大厂offer

android 程序员 移动开发

Java泛型,安卓面试项目经验

android 程序员 移动开发

JVM如何实现线程同步,干货精讲

android 程序员 移动开发

面试题:软件测试的流程

程序员阿沐

互联网 软件测试 计算机 测试工程师 测试流程

IOC架构设计之控制反转和依赖注入(一),2021大厂Android面试经验

android 程序员 移动开发

Jetpack Compose初体验,flutter游戏开发

android 程序员 移动开发

Jetpack系列(三) — LiveData,大厂Android面试总结+详细解答

android 程序员 移动开发

面试题系列:用了这么多年的 Java 泛型,我竟然只知道它的皮毛

Sakura

Java 架构 面试 计算机

Java虚拟机相关面试题,android系统开发面试

android 程序员 移动开发

Visual Studio“15”启动速度提升_.NET_Jeff Martin_InfoQ精选文章