10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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:002717
用户头像

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

关注

评论

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

要和竞争对手做比较吗?

邓瑞恒Ryan

创业 战略管理

世界那么大,你有偏见吗?

谢锐 | Frozen

创业 技术管理

写给产品经理的信(2):产品设计能力怎样进阶

punkboy

产品 个人成长 产品经理 产品设计 进阶

孩子,我们在睡前一起来阅读 15 分钟的好书,让彼此都带着好的故事入眠。

叶小鍵

正确阅读 托马斯·奥本 Doug Antin 蒂·泰德罗克

df 和 ls 命令执行夯主

首富手记

生产力

【转载】如何在团队中做好Code Review?

北纬32°

怎么控制老板不断加需求?

kimmking

ARTS week 1

丽子

docker19.03读取NVIDIA显卡

首富手记

Docker Dockerfile

如何在团队中做好Code Review

Ken

团队协作 代码审查 Code Review 代码质量

字符与编码

引花眠

计算机基础 utf-8

重新开始,被自己搞砸的生活

小天同学

个人感想 日常思考

短视频时代下的知识摄取

Neco.W

学习 知识管理 知识体系 短视频

这个名字,你不能再读错了

小天同学

历史 科普

技术工作中的颜值

N维空间的尘埃

C#刷遍Leetcode面试题系列连载(1) - 入门与工具简介

Python名人堂

C# .net 算法 LeetCode

阿里的OceanBase上天了,但你还不会用Explain看SQL的查询计划吗?

Super~琪琪

MySQL 数据库 后台开发 后端

Java运算符实际运用

凌轩

Java 编程语言

ARTS打卡 第1周

引花眠

ARTS 打卡计划

Java开发工具与HelloWorld

编号94530

Java eclipse Hello World ! IDEA 开发工具

实战 Java8-CompletableFuture

子路无倦

Java 多线程 java8 CompletableFuture

不要抱怨,也别憋屈

孙苏勇

职场 随笔杂谈

美国播客节目《指数视角》专访李飞飞:疫情、 AI 伦理、人才培养

神经星星

人工智能 程序员 李飞飞 硅谷 AI 伦理

系统化服务构建-软件工程分层

图南日晟

微服务 软件工程 架构设计

我们都可能陷入经济困境

董一凡

生活

关于用户体验的一些思考

码上生长

android 产品开发

谈谈控制感(10):怎么做一个靠谱的人

史方远

职场 心理 成长

自制操作系统

贾献华

我的时间管理之路(附工具集合及使用心得)

YoungZY

App 时间管理

已发表的技术文章-大数据方面

绝影-大数据

Flink 完美搭档:数据存储层上的 Pravega

Apache Flink

大数据 flink 流计算 实时计算

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