2015-06-03 10 views
0

我做了一个C#窗体窗体应用程序需要.NET 4.0。我在Windows 8现代笔记本下编写它,并且在那里工作得很快。它并不那么重,它有两个线程可以从串口设备读取一些值并保存数据或显示图表。 但是,当我在Windows XP,Pentium 4 3GHz,500MB内存和史前20GB高清电脑上运行它时,速度非常慢。电脑几乎没有安装,所以它不是一个软件问题。看起来GUI非常沉重。打开和关闭表单需要几秒钟,如果你不耐心,你可以简单地崩溃它。在图片框中显示了一个gif。在笔记本电脑上,它每秒闪烁一次,在电脑上它会在4-5秒内闪烁。在笔记本计算机上每秒更新一次计时器,并在计算机上每3-4秒更新计时器。 显然它不占用大量资源:使用的RAM是128 MB,CPU是4-5%左右。你有什么想法,为什么这么慢?缓慢的应用程序在Windows XP 500MB ram

回答

0

我以前见过这样的事情,应用程序在我的笔记本电脑上运行速度非常快,但随后在用户的桌面上使用较旧的处理器时出现在外面,事情真的放慢了速度。

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

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

希望这有助于

0

你的老奔腾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的机器,但这是一个很好的机会,它有一个专用的图形处理器(即使它是片上集成),并且通常比你的Pentium 4机器强大得多。

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

0

您需要测量。它可能是GC,I/O,JIT,不管...

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