none
.NET的WINFORM程序64位的界面为何比较卡 RRS feed

  • 问题

  • 同样的代码,编译成x64和x86,运行都没发现什么问题

    但是x64那个界面加载明显比较慢,经常一些控件要卡白色的一会儿才会出现,窗体出现好像也比较慢

    x86的就很正常

    这个是我编写的问题还是x64都这样?

    2013年8月7日 2:12

答案

  • 我用你的也测试了,按照你的设置,我在平台上选择 x86,或选择 x64,都没有卡的问题。

    我的是 win7 64 专业版,机器配置还不错:i7-2600, 8GB RAM,独显+集成显卡

    • 已标记为答案 wuhansen 2013年8月7日 8:57
    2013年8月7日 8:10

全部回复

  • 是不是你的代码的问题?

    你可以建立一个空白的项目,不要添加你的代码。

    你也可以直接用VS的性能测试工具,分析下各语句的执行速度。

    还可以用Windbg分析各语句的执行速度。

    2013年8月7日 2:27
  • 感谢回复

    但我感觉只要做个稍微复杂点的窗体不写代码就能看出来x64稍微慢一点

    x86下很快的 所以不是很明白是怎么回事

    2013年8月7日 2:42
  • 正因为如此,所以你才需要工具来分析,比如我提到的vs,windbg,你都可以用来分析语句的执行速度,从而找到是哪些API的调用占用了大量的时间。
    2013年8月7日 3:30
  • 不知为性能测试x64的就分析不起来...难道我的VS不兼容

    可否帮忙测试下

    拖几个带列的dataGridView和有内容的comboBox空窗体就很明显了..X64编译明显运行后要卡

    2013年8月7日 7:41
  • 我放了6 个 combox ,每个 combox 有 19 个候选项,两个 datagridview,每个datagridview 有 24 列。

    x86和x64 没有你提到的明显的“卡”的差别。

    2013年8月7日 7:52
  • 难道是机器性能问题

    可否给我看看你的工程...

    附上我的 我感觉还是很明显的啊

    http://pan.baidu.com/share/link?shareid=1253474912&uk=3942957477

    2013年8月7日 7:59
  • 我用你的也测试了,按照你的设置,我在平台上选择 x86,或选择 x64,都没有卡的问题。

    我的是 win7 64 专业版,机器配置还不错:i7-2600, 8GB RAM,独显+集成显卡

    • 已标记为答案 wuhansen 2013年8月7日 8:57
    2013年8月7日 8:10
  • 那估计是你机器太好了...

    因为这边用我软件的很多还是古董机...差别很明显的

    我自己的是G620

    一直找不到原因啊 只要是64的能感觉到界面卡一下才显示出来的 x86就非常迅速 不知道是我设置的问题还是X64就是这样 感觉非C#程序好像没事

    2013年8月7日 8:15
  • 作为对比的话,你需要确定你的 os 是不是 64 位,你的硬件是不是支持 64 位,主板是不是使用了扩展方式来支持 64 位。还有你的内存有多大。
    • 已编辑 Skyseer 2013年8月7日 8:19
    2013年8月7日 8:19
  • 这个不是我能决定的啊...

    人家就是愿意1G内存上64位我也没办法

    我就是写软件而已

    2013年8月7日 8:20
  • 另外我试了下MFC的程序确实没这个问题

    只有C#的会

    2013年8月7日 8:26
  • 你可以试下 release 模式。
    2013年8月7日 8:29
  • 发布肯定release的啊...可能之前打包给你的忘了吧 我都是试过的

    事实上我没感觉到这2个写小窗口程序性能上有很明显的区别

    另外MFC的就算是DEBUG的X64也不会出现这种卡顿

    2013年8月7日 8:35
  • 你可以换成 wpf 测试下。


    还可以建立一个  Console ,测试一下 Pi 值得计算性能。
    • 已编辑 Skyseer 2013年8月7日 8:38
    2013年8月7日 8:37
  • 好奇怪...为什么国内网上都没人提出过这个问题

    难道只有我遇到

    国外倒是有

    http://stackoverflow.com/questions/12979774/net-4-0-app-slower-on-64-bit-than-32-bit-profiling-and-possible-solutions-ap

    ANYCPU在64位系统上表现和X64是一样的

    但就没见到解决方法


    2013年8月7日 8:42
  • 算了 感觉应该是无解了
    2013年8月7日 8:58
  • 升到 .net 4.5

    降到 .net 3.5,.net 2.0

    x86吧,也没啥问题。

    2013年8月7日 8:58
  • 跟版本没有关系

    以前好像是用2.0的时候我就发现这个问题了

    就是因为一直解决不了才用着X86

    2013年8月7日 14:12