在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

在Windows窗体中隐藏标签需要244ms

实际上,这也取决于你所开发的平台。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'动作是否一直在进行。

还要检查你是否有很多正在运行的应用程序,有些笔记本电脑预装了一堆软件,使机器慢得像爬行。

总之,给我们更多的信息。调试哪个部分的操作比较慢,然后反馈给我们。