c# – 在Windows窗体中隐藏标签需要244毫秒

我试图看看能否找到问题的根源.我试图在纤薄/紧凑的计算机上使用.NET 4.0.当通过添加StopWatch运行应用程序时,只需运行244毫秒就可以运行一行简单的label.visible = false;在我的电脑上它只需要22毫秒.代码的其他部分运行100%罚款,这只是这个区域.可能是什么导致了这个?

这是我试图运行应用程序的系统.我知道它是一台便宜的电脑,但这是唯一可以在它上面运行的应用程序.我已经完成并卸载了Acer安装的所有默认程序并运行了所有Windows更新.

Amazon.com – Acer Aspire Revo AR3700-U3002 Slim and Compact Desktop

产品功能

> 1.8 GHz Intel Atom D525双核处理器
> 2 GB已安装的DDR3 RAM
> 250 GB SATA硬盘(5400 RPM)
>集成的nVIDIA Ion Graphics
> Windows 7家庭高级版

处理器,内存和主板

>硬件平台:未知
>处理器:1.8 GHz Intel Atom
>处理器数量:1
> RAM:2 GB
> RAM类型:未知
>内存插槽:2

硬盘

>大小:250 GB
>类型:未知
>速度:5400转

最佳答案 实际上,它可能取决于您正在开发的平台.在Windows 7 / Vista中删除了GDI加速.因此,使所有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.

点赞