首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在windows xp 500mb内存上运行缓慢的应用程序

在windows xp 500mb内存上运行缓慢的应用程序
EN

Stack Overflow用户
提问于 2015-06-04 02:36:29
回答 3查看 229关注 0票数 0

我制作了一个需要.NET 4.0的c# windows窗体应用程序。我把它写在一个windows8的现代笔记本上,在那里它运行得很快。它不是很重,它有两个线程,从串行设备读取一些值,并保存数据或显示图表。但当我在一台装有windows xp、奔腾4 3 3GHz、500mb内存和史前20 gb硬盘的老式pc上运行它时,速度非常慢。这台电脑几乎没有安装任何软件,所以这不是一个软件问题。这似乎是图形用户界面非常沉重。打开和关闭表单只需要几秒钟,如果你没有耐心,你可以简单地使其崩溃。图片框中显示了一张gif。在笔记本电脑上,它每秒钟闪烁一次,在电脑上,它每4-5秒闪烁一次。笔记本上的计时器每秒更新一次,pc上的计时器每3-4秒更新一次。显然,它并不占用很多资源:已用内存为128MB,cpu约为4-5%。你知道为什么它这么慢吗?

EN

回答 3

Stack Overflow用户

发布于 2015-06-04 03:19:43

我以前见过这样的事情,一个应用程序在我的笔记本电脑上运行得非常快,但后来它在使用较老处理器的用户的台式机上运行,速度真的变慢了。

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

在另一个项目中,我们发现第一次机会异常会导致其他计算机上的速度变慢,这有助于在该硬件上运行VS并监控第一次更改异常。此外,如果你在机器上有VS,你可以在缓慢的时刻暂停处理,然后查看堆栈跟踪,看看它可能在哪里花费了大部分处理时间。

希望这能帮上忙

票数 0
EN

Stack Overflow用户

发布于 2015-06-04 03:34:39

您的旧奔腾4机器很可能没有专用的图形处理器,这意味着所有的UI工作都是由处理器完成的。

以任何现代标准衡量,奔腾4 3 GHz处理器都是极其缓慢的。在这个PassMark CPU基准测试中,它的得分为358分,而得分在1700 - 1800之间的CPU得分为高分的“中低”CPU。

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

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

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

在这种情况下,与Windows8相比,应用程序在旧机器上运行非常慢也就不足为奇了。

票数 0
EN

Stack Overflow用户

发布于 2015-06-20 15:21:31

你需要测量。可以是GC、I/O、JIT等等。

我会推荐你PerfView。它是来自微软的几兆大分析器,它是免费的,不需要安装,所以你可以很容易地在客户的PC上运行它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30628016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档