2011-11-21 96 views
4

我试图查看是否可以找到问题的来源。我正试图在一台纤薄/小巧的电脑上使用.NET 4.0。当运行应用程序添加一个StopWatch它需要244毫秒只运行一个简单的线label.visible = false;在我的电脑上它只需要22毫秒。代码的其他部分运行得很好,只是这个区域。什么可能导致这个?Windows窗体中的隐藏标签需要244毫秒

这是我试图运行应用程序的系统。我知道它是一台便宜的电脑,但这是只有应用程序将运行在它上面。我已经完成并卸载了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千兆赫的Intel Atom
  • 处理器的数量:1
  • RAM:2 GB
  • RAM类型:未知
  • 内存插槽:2

硬盘

  • 尺寸:250 GB
  • 类型:未知
  • 转速:5400转
+1

那么它是按照标题244毫秒还是244秒? – ChrisF

+3

另请参见:在上下文中显示有问题的代码 –

+0

如何(在地球上)分析该线路需要244msecs?我猜它只是被执行了一百万次:) – sehe

回答

2

事实上,它可能取决于你正在开发过上什么平台。在Windows 7/Vista中删除了GDI +加速。因此,所有的GDI +操作,即使是隐藏/显示表单等简单操作都要慢得多。

这是Windows Server 2008中未删除的一件事,但在Windows Server 2008 R2中已被删除。因此,如果您的开发计算机使用的是Windows XP或更低版本,或Windows Server 2008或更低版本,则可能比类似的Windows 7或Windows Vista计算机速度更快。

无论硬件加速如何,视频卡的比较也可以按顺序进行。低端机内置视频卡很少与开发机器中包含的视频卡相比。

其他性能问题是非常缺乏内存(特别是如果它运行64位),它可能会推动GDI呼叫到非常慢的硬盘(5400转),如果它没有足够的RAM 。

尝试实现在WPF相同的测试?如果WPF中的速度非常相似,可能是由于视频/硬件加速问题或内存问题,因为WPF受益于完整的3D硬件加速,并且主要将视频内存用于UI而不是系统RAM。

+0

抱歉,延迟响应。我没有用WPF进行测试,因为整个程序都是用Windows Forms编写的,并且不想重写它。我曾试图将2gb的内存撞到4gb,以查看其差异,但很难找到内存。这是使用Win7 Home Prem 64bit。这台电脑只有200美元,因为我试图去运行这个软件的最便宜的路线,但听起来像我需要得到更好的硬件? –

0

多次运行该示例并获取更多信息。特别是多次调用StopWatch来检查它支持的分辨率。

日新编译可能是一个缓慢的机器上很慢,也因此多次或NGEN运行的代码。

检查硬件上充分表现,而不是在“最小CPU速度”等,一台笔记本电脑上运行转移到省电模式可真慢。

通过实现自定义绘制,你可以看到,如果平局动作或“事件”的行动正在采取所有的时间。

还要检查,如果你有很多运行的应用程序,一些笔记本电脑的软件预装在机器放缓到爬行堆。

总之给我们更多的信息。调试什么部分的操作很慢,然后回到我们这里。