使Visual Studio 2010更快的性能提示?

时间:2010-06-22 21:50:53

标签: performance visual-studio-2010

我不知道是否有其他人对Visual Studio 2010的性能有任何问题,但我每天关闭它并重新打开它,一小时后它开始真正陷入困境,甚至无法跟上我的打字。是否有一些明显的设置我错过了有助于加快它的速度?

我也在使用ReSharper,但即使我删除了它,也只会略微提高速度。

由于有几个人要求我的机器规格:

Intel Q9550 @ 2.83 GHz
4 Cores
8GB Physical RAM
2x 60GB SSD in RAID0 combination for solution/project
VS2010 RTM Ultimate
Windows Server 2008 x64 R2 (Performance set for Applications)

虽然伤心地听到答案是“购买更快的硬件”时,我的硬件实际上是相当不错的。

编辑:包含TimothyP建议的Visual Studio Performance Diagnostics工具的链接

14 个答案:

答案 0 :(得分:7)

我建议您考虑从http://connect.microsoft.com/VisualStudio/Downloads安装一些修补程序。我之前也曾经遇到过性能问题,并且在Cut& amp;粘贴操作。这个问题和其他一些(包括不同的内存泄漏问题)已经被混淆了。从http://connect.microsoft.com/VisualStudio/Downloads安装一些修补程序后,我的计算机上的Visual Studio性能要好得多。

答案 1 :(得分:6)

在这里添加我自己的答案。我真的不认为ReSharper做了那么多。在尝试了每个选项并且仅加载一个项目之后,即使简单地将两条线连接在一起(几个退格按压),它仍然是滞后的。

我卸载了ReSharper以及我所做的所有其他调整,事情非常快。

答案 2 :(得分:6)

一个注意事项是RAID0 SSD 。您应该确保您的RAID控制器(和驱动程序!)支持用于RAIDed SSD的TRIM。大多数RAID控制器 - 特别是英特尔芯片组控制器 - 不这样做。结果是在基于SSD的RAID阵列中,I / O性能将迅速降低。

Windows 7和Windows 2008R2支持TRIM命令 - 当您的控制器和驱动程序实现它时。

在tomshardware.com或anandtech.com等网站上有很多关于此主题的内容。如果所有其他方法都失败了,您可以考虑在非RAID中使用SSD,或者在操作系统中使用SSD,在数据库中使用普通的大型HD等。您还可以在上述某个站点上查找特定的SSD。表现的变化比你想象的要广泛得多。

答案 3 :(得分:5)

尝试关闭IntelliTrace。由于这个功能,我有很多与慢度和不稳定有关的问题(它可能只是我)。该设置位于工具>选项> IntelliTrace>启用IntelliTrace。

答案 4 :(得分:4)

当然,对于像Visual Studio这样的大型开发环境来说,RAM总是非常重要,尤其是2010版本,特别是如果你使用的终极版包含IntelliTraceArchitecture and Modelling Diagrams等内存密集型功能。 {3}}

然而,经常被忽视的主要因素之一是,可以对Visual Studio的整体性能产生重大影响,是硬盘速度

Scott Guthrie(微软.NET开发平台公司副总裁)写了一篇关于这个确切主题的非常有趣的文章。

它已经存在了几年,并且是在Visual Studio 2005的时候编写的,但是,自Visual Studio继续工作的方式以来它仍然非常相关(特别是编译器的方式)工作)在那段时间里变化不大。

斯科特写道:

  

人们常常在会议上问我   PC硬件建议。   具体 - “什么类型的机器   你推荐我做的   使用Visual Studio进行开发?“   和/或“你的笔记本电脑似乎很快,   它是什么类型的?“

     

我对此提出了一些建议   主题是相当标准和明显的:   理想情况下,你想要一个决斗核心或   更好的CPU。我也总是推荐   获得至少2GB或更多的RAM。

     

我经常提出的建议   似乎把人们带走了一点   惊喜是确保你永远   获得最快的硬盘驱动器   在购买新机器时 - 以及在哪里   必要的贸易购买   额外的CPU处理器速度   赞成投资更快的磁盘   代替。

此外:

  

为什么硬盘速度很重要?

     

在过去几年中,机器上的多核CPU已经足够快,在大多数常见应用场景中,您通常不会阻止机器中的可用处理器和容量。

     

您更有可能阻止的是用于计算机访问硬盘的Seek和I / O速度容量。如果您使用的是需要>读/写大量文件的应用程序,那么您的CPU处理器利用率非常低并非非典型 - 因为应用程序可能花费大部分时间等待>要完成的磁盘操作。

     

使用Visual Studio进行开发时,最终会读取/写入大量>文件,并花费大量时间进行磁盘I / O活动。大型项目和>解决方案可能具有数百(或数千)个源文件(包括图像,css,>页面,用户控件等)。当您打开一个项目时,Visual Studio需要读取并>解析其中的所有源文件,以便提供智能感知。当您加入>源代码管理并签出文件时,您正在更新磁盘上的文件和时间戳。当>您对解决方案进行编译时,Visual Studio将从>多个磁盘路径位置检查更新的程序集,在>编译完成时将多个新程序集写出到磁盘,以及保留.pdb调试器符号文件在他们的磁盘上(所有>作为单独的文件保存操作)。当您将调试器附加到进程时(按F5运行应用程序时的默认>行为),Visual Studio然后需要搜索并>加载应用程序的所有程序集和DLL的调试器符号,以便设置&gt ;断点

     

如果您的硬盘驱动器速度很慢,Visual Studio最终会在等待它时被阻止>完成这些读/写操作 - 这可能会降低您的整体>开发体验。

您可以在此处阅读完整文章:

Tip/Trick: Hard Drive Speed and Visual Studio Performance

答案 5 :(得分:2)

您是否在Server 2008 R2安装中启用了Desktop Experience组件?与以前的版本不同,Visual Studio 2010大量使用WPF,其性能受益于硬件加速。启用桌面体验将启用桌面窗口管理器,从而提高整体WPF性能。

出于同样的原因,您应该确保使用最新的视频驱动程序。

答案 6 :(得分:2)

如果您在解决方案中使用许多项目一起构建,我建议在项目属性配置中设置为NOT BUILD。这就是我为加速我的努力。在编译时间更明显......

答案 7 :(得分:2)

使用这种硬件,恕我直言,你不应该有任何性能上的麻烦,几乎不管你做什么。 ( RAID-0中的2 x SSD? - 你是个狂热的人!)

看起来你已经解决了这个问题(有没有你可以分享的具体内容?),但要检查的另一件事是确保你的视频驱动程序是最新的。这很令人惊讶,但它们会影响很多你不会怀疑的事情。

我认为另一个罪魁祸首也可能是一个过度活跃的反病毒软件包......

答案 8 :(得分:2)

当显然机器炽热时,我喜欢升级的建议。我的建议,如果可能的话,将尝试2008年,看看它是如何运行的。我自己在2010年遇到了几个问题,最不重要的是性能问题。为了提高工作效率,我改回了2008年。

如果您可以确认问题是否在旧版本上发生或者未发生,我们可以更好地了解问题所在。

答案 9 :(得分:2)

SSD的品牌/控制器比它们是SSD更重要。不要买便宜/预算的SSD - 你最好用一个好的拼盘驱动器。在高端固态硬盘上大肆挥霍,您将获得重大收益。

答案 10 :(得分:2)

如果您正在编辑XAML,则可以使用源代码编辑器而不是XAML编辑器。性能差异是惊人的:

http://msdn.microsoft.com/en-us/library/bb907321(v=vs.90).aspx

值得注意的是,如果您在任何时候打开xaml编辑器,那么您需要重新启动Visual Studio才能使性能恢复正常。关闭xaml编辑器是不够的。

答案 11 :(得分:1)

获得带有修剪支持的raid0的ssd的唯一方法是使用新的ocz revo 3,1.5GB读取/ 1.25GB写入,对于没有修剪的突袭ssd更实惠和稳定的解决方案是在sata上购买ssd 3(550MB / s)。

答案 12 :(得分:0)

正如马特所说, 您可能想要为您的机器添加更多RAM, 但如果你每次打开一小时它真的“陷入困境” 您可能希望与VS团队联系(http://connect.microsoft.com), 提交错误报告并运行他们将发送给您的性能诊断工具。

这些家伙过去对我帮助很大 我相信他们愿意帮助你找到减速背后的真正原因。

除此之外,我可以告诉你我的主要开发机器 有8个Xeon核心和12GB的RAM。在那台机器上编译大型解决方案 在短短的几秒钟内,他们可以花一分钟时间在我的双核macbook上编译。 但是,由于RTM版本我没有像你描述的那样经历任何减速。

我假设你在这里使用RTM版本, 你能告诉我们你机器的规格吗?硬件+软件?

根据有限的信息帮助您很难。

答案 13 :(得分:0)

我假设你正在使用C#,但如果你正在使用C ++,也许你可以尝试关闭intellisense?我认为它应该在2010年更好,但是当我砍掉智能感知时,以前的版本总是会提速。

如果它与2005年相同,您可以通过在[vs root dir] \ vc \ vcpackages中重命名feacp.dll来禁用intellisense。