在Windows XP 500mb ram上应用缓慢

时间:2015-06-03 18:36:29

标签: c# winforms performance windows-xp

我制作了一个需要.NET 4.0的c#windows表单应用程序。我在Windows 8现代笔记本下写了它,并且工作得很快。它不是那么重,它有两个线程从串行设备读取一些值并保存数据或显示图表。 但是当我在一台装有windows xp,奔腾4 3GHz,500mb di ram和史前20 gb高清的旧电脑上运行时,它非常慢。电脑几乎没有安装,所以这不是一个软件问题。 GUI看起来非常沉重。打开和关闭表单需要几秒钟,如果你没有耐心,你可以简单地崩溃它。图片框中显示了一个gif。在笔记本电脑上它每秒闪烁一次,在电脑上它会在4-5秒内闪烁。同样是在笔记本电脑上每秒更新一次计时器,在电脑上每3-4秒更新一次。 显然它没有占用大量资源:使用的RAM为128 MB,cpu约为4-5%。你知道为什么这么慢吗?

3 个答案:

答案 0 :(得分:0)

我以前见过这样的事情,应用程序在我的笔记本电脑上运行速度非常快,然后它在用户桌面上用较旧的处理器运行,事情真的变慢了。

有助于运行以下性能分析器。您可以将其安装在桌面上,而无需安装任何开发人员工具。围绕事件缓慢拍摄快照,然后在结果中您将看到哪些方法很慢。也许有一个循环运行的文件访问,你可以减少在内存中加载项目的访问时间。也许有一个数据库调用会更频繁地发生。 https://www.jetbrains.com/profiler/?fromMenu

在另一个项目中,我们发现第一次机会异常导致其他计算机运行缓慢,并且有助于在该硬件上运行VS并监视第一次更改异常。此外,如果您在盒子上有VS,您可以在缓慢的时刻暂停处理,然后查看堆栈跟踪以查看其可能花费大部分处理时间的位置。

希望这有帮助,

答案 1 :(得分:0)

您的旧Pentium 4机器很可能没有专用的图形处理器,这意味着处理器正在完成所有UI工作。

任何现代标准都是奔腾4 3 GHz处理器。在这个PassMark CPU基准测试中,得分为'358'而高得分'低中距离'CPU在1700-1800之间得分。

https://www.cpubenchmark.net/low_end_cpus.html
https://www.cpubenchmark.net/midlow_range_cpus.html

你没有说明你的Windows 8机器中有什么处理器,但很可能它有一个专用的图形处理器(即使它集成在芯片上),并且通常比你的功能强大得多奔腾4机。

在这种情况下,与Windows 8机器相比,旧机器上的应用程序运行速度非常慢并不奇怪。

答案 2 :(得分:0)

你需要衡量。它可能是GC,I / O,JIT,无论......

我会推荐你​​PerfView。它是MS的几兆大的探测器,它是免费的,无需安装,因此您可以轻松地在客户的PC上运行它。