我们最近迁移我们的WinForms项目之一到Visual Studio 2012从Visual Studio 2008的过渡进展顺利显着,一切都建立就好了,但是我们现在用的WinForms设计师,这是运行慢得令人难以置信挣扎。
举个例子,如果我们打开一个小表格(表格包含两个文本框,一个数字向上向下和两个按钮 - 所有标准的内置控件,没有第三方),这将需要大约40-45秒在2012年,然而,在2008年,将在1或2秒打开。 对于我们更大的形式,这种差异更加明显。 在2008年,这将需要大约7秒钟才能打开的形式,但在2012年其接管6分钟 。 最糟糕的是,这是一个封闭的动作,VS2012是几乎完全没有反应,同时打开形式。 这也恰好刚刚通过单击窗体的.H,所以它不喜欢,我们可以很容易地只是坚持代码本身避免它。
任何人都经历吗? 有谁知道为什么它的发生,如果有什么事,可以对此做些什么呢?
附加信息:我们的应用程序是一个C ++ / CLI Winforms应用程序。 该行为是看到我们所有的开发机器,它运行Windows 7 64位系统的。 我的机器是酷睿i7 860 CPU与12GB的RAM(60%免费,现在当我在基准以上) - 绰绰有余,我想。 在任何情况下,我的系统是没有办法运行速度慢,这只是VS2012设计师。
编辑:只是为了澄清外,我们还没有安装任何插件或类似的东西。 这是一个处女VS2012安装。
EDIT2:它似乎并没有成为一个网络的事情,无论是。
我不知道延误的原因,但我可以告诉你一个方法来确定原因。 使用Visual Studio的另一个实例进行调试。 附加到devenv.exe进程: 调试的Visual Studio
如果在一段时间打破了所有线程一次,在延迟期间,从统计数字上看,你很可能会发现,含有导致延迟的调用堆栈。 这是一个“穷人的事件探查器”,但它工作得很好。 我已经使用这种技术之前发现并报告在Visual Studio 2010中的设计器代码发生器回归的性能变化(这不是由微软修正)。
我在Visual Studio 2010中,我经历了同样的事情。 当我在设计和我点击相应的.h文件或添加其他元素到GUI,然后VS开始“计算”的新代码的设计,完全堵塞了CPU的总挂起。
我的Windows窗体包含大量的元素。 在我加入越来越多的用户界面时,从设计到代码中的开关有慢。 目前,它需要大约4分钟(!!!),从设计每次我在设计中改变什么时间切换到代码。
我可以看到它,它不能是一个网络问题。 这是一个更VS本身的问题,这是不能够计算在一个快速和有效的方法的代码。
我不能提供解决这一问题的任何指导。 但我可以告诉你,我有这一点。 它发生在两个Visual Studio 2010和2012年我用Windows窗体没有WPF,所以我觉得这个问题是独立于。
好了,这个问题现在已经开了一年多,没有人设法拿出一个具体的答案,为什么WinForm设计是如此缓慢。
最近,我又回到了VS2012和更新,更新3.尽管浇了各种版本说明,我没有看到这方面的性能提高任何提及,但我很高兴向大家报告, 设计师现在是多少,要快得多 。
只是浑浊一些,因为我最初发布这个我的机器已经升级的水域,我现在炫耀的AMD FX-8350 CPU,内存和SSD 16GB。 当我第一次拿到这款新机,我想的第一件事就是VS2012,我发现,这是跟以前一样慢。 现在,它能够装载过去需要6分钟+约15秒形式相同的。 这仍然是近两倍,只要在VS2008,但我可以忍受的,因为它是由360 +一个巨大的飞跃。 我只提到这一点,因为我不能肯定是否已经有固定的设计师,或者只是性能改进的错误 - 也许利用额外的处理器内核。 换句话说,你的里程可能会有所不同,但如果你还没有尝试过它已经,尝试安装Update 3。
您可以下载更新3浏览: http://www.microsoft.com/en-us/download/details.aspx?id=39305
我以为我有同样的问题,(尽管有VS2013),但也许我所观察到的可能是他人有所帮助,......我责怪我的升级,从32位的WinXP 64位的Win7。 这里的原因。
以前我有WinXP的机器上VS2008快。 主板死了,所以我就一个全新的Windows 7计算机。 相比较而言,这种新的机器是与SSD,两倍的存储器和更快的处理器速度极快。
起初我安装了VS2008,但在此之前,我有机会与形式的编辑工作,我意识到我需要其他原因VS2013。 因此,Visual Studio中的两个版本仍然安装。
你猜怎么着,我的速度超快的Windows 7机器上,视觉工作室的两个版本有一个非常缓慢的表格编辑器。 我有我加载到VS.的两个版本一个相当复杂的形式 形式是用的一个事实,就是已经被移植了到Visual Studio 2013的例外是相同的。
这台计算机是不到2周大,我相信它的清洁恶意软件。
我还注意到,在任一版本的Visual Studio,当我将鼠标指针变成两个指针,以及“大小”光标在延迟期间点击在窗体设计器中的任何控制,几秒钟,又都是半透明...还告诉我,它的快速交替两者之间的鼠标光标,如此迅速,他们都出现半透明的。
我的猜测是,Windows 7在表格编辑器中绘制图形,特别是不同的方式。 (顺便说一下,我们在看的形式编辑器真正的控制,或者仅仅是对图形表示?显然,他们没有在表格编辑器的“工作”。)
我尝试了主题切换为“Windows经典”(不透明度,方角,和灰色背景)这使得没有明显的差异。
尝试从/ CLR改变你的C ++项目的编译器设置:纯净/ CLR。