zoukankan      html  css  js  c++  java
  • Visual Studio 2012用户界面响应速度日益提高

    微软一直在描述为改善Visual Studio 2012而着手进行的各种改进。Larry Sullivan介绍了由Visual Studio开发团队成员Duke Kamstra和Chuck England提供的最新消息,涉及VS工具箱(Toolbox),以及他们以何种方式来减轻主用户界面渲染线程的负担。

    讨论一 开始,回顾了VS团队从PerfWatson工具中获得的性能跟踪报告。该报告显示,在关闭解决方案时,大型项目中的工具箱会阻塞“Visual Studio 用户界面 30秒”。此外,工具箱的性能还会受到设计器的影响,如Windows Form设计器、及WPF设计器。

    这种影响是由于工具箱的渲染方式造成的。工具箱所显示的组件列表是由基础安装中的部分组件构成的,而基础安装是微软及其(如果有的话)第三方供应商提供的。然而另一类用户组件则是由用户在特定的用户项目中定义的。

    尽管第一类组件没有太大变化,不过第二类组件则需要Visual Studio在加载解决方案时,搜索所有应该显示的组件。性能跟踪报告指出,“随着解决方案规模及复杂度的增长,查找用户控件所导致的性能损耗会成比例上升”。

    为改善性能,他们重新检查了以下操作区域:

    • 加载解决方案的过程
    • 打开设计器的过程
    • 更改构建配置的过程(Debug/Release)
    • 构建解决方案的过程
    • 关闭解决方案的过程

    第一项实现的改进是,要是工具箱窗口不可见,则不再耗费处理器周期去更新设计器。第二项改进是,替换了VS2010中VS如何处理工具箱改变的方 法:鉴于每次组件发生变化时,VS2010都会从工具箱窗口中移除所有显示项,然后从头开始重新加载所有需要的组件,而在VS2012中,工具箱会根据自 上次更新后所发生的变化(添加或移除),仅替换那些被显示的组件。

    要是应用程序中有需要长期运行的工作,就会给主用户界面线程增加负担。开发团队会将对繁重工作的处理从该线程中移走,从而改善响应速度。 虽然开发者用所声称的显著改进作了总结,但遗憾的是,并未提供与VS2008、VS2010、及VS2012早期版本的横向比较。因此,尽管在架构上的更 改听上去令人印象深刻,但是却难以量化这些改进。

  • 相关阅读:
    C/C++——二维数组与指针、指针数组、数组指针(行指针)、二级指针的用法
    C/C++——C语言数组名与指针
    C/C++——C语言跳出多重循环方法
    知识储备——国际象棋术语中英文对照
    C/C++——C语言库函数大全
    C/C++——C语言常用库函数
    C/C++——[05] 函数
    C/C++——[04] 语句
    C/C++——[03] 注释
    C/C++——[02] 运算符和表达式
  • 原文地址:https://www.cnblogs.com/shihao/p/2705272.html
Copyright © 2011-2022 走看看