在Windows窗体中隐藏标签需要244ms
本文关键字:244ms 标签 隐藏 Windows 窗体 | 更新日期: 2023-09-27 18:15:23
我想看看是否能找到问题的根源。我正在尝试在一台超薄/紧凑的计算机上使用。net 4.0。当使用添加StopWatch
运行应用程序时,它需要244 ms才能运行label.visible = false;
的简单行,在我的计算机上它只需要22 ms。代码的其他部分100%运行良好,只是这个区域。是什么原因造成的呢?
这是我试图运行应用程序的系统。我知道这是一台便宜的计算机,但这是将在其上运行的唯一的应用程序。我已经检查并卸载了宏碁安装的所有默认程序,并运行了所有的Windows更新。
Amazon.com - Acer Aspire Revo AR3700-U3002超薄紧凑型台式机
产品特性- 1.8 GHz Intel Atom D525双核处理器
- 2 GB安装DDR3 RAM
- 250gb SATA硬盘(5400rpm)
- 集成nVIDIA Ion Graphics
- Windows 7 Home Premium
处理器、内存和主板
- 硬件平台:未知
- 处理器:1.8 GHz Intel Atom
- 处理器数量:1
- 内存:2gb
- RAM类型:Unknown
- 内存插槽:2
- 大小:250gb
- 类型:未知的
- 转速:5400 rpm
实际上,这也取决于你所开发的平台。GDI+加速在Windows 7/Vista中被移除。因此,使所有GDI+操作,即使是简单的操作,如隐藏/显示表单,都要慢得多。
这是一个在Windows Server 2008中没有被删除的东西,但是在Windows Server 2008 R2中被删除了。因此,如果你的开发机器使用的是Windows XP或以下版本,或Windows Server 2008或以下版本,那么它可能比类似的Windows 7或Windows Vista机器快得多。
不考虑硬件加速,视频卡的比较也可以。低端机器上的内置显卡,很少与开发机器中包含的显卡相比。
其他性能问题是非常缺乏RAM(特别是如果它运行64位),如果没有足够的RAM,它可能会将GDI调用推到非常慢的硬盘驱动器(5400 rpm)。
尝试在WPF中实现相同的测试?如果WPF中的速度非常相似,则可能是由于视频/硬件加速问题,或者内存问题,因为WPF受益于完全3D硬件加速,并且主要将视频内存用于UI而不是系统RAM。
多次运行该示例并获得更多信息。特别是连续多次调用StopWatch来检查它支持的分辨率。
Jit编译在慢机上也会非常慢,所以要多次运行或者NGEN代码。
检查硬件是否以全性能运行,而不是以"最低cpu速度"等。把笔记本电脑调到省电模式真的很慢。
通过实现自定义绘图,您可以看到绘制动作或'Event'动作是否一直在进行。
还要检查你是否有很多正在运行的应用程序,有些笔记本电脑预装了一堆软件,使机器慢得像爬行。
总之,给我们更多的信息。调试哪个部分的操作比较慢,然后反馈给我们。