【发布时间】:2010-10-20 03:34:38
【问题描述】:
我有一个 C# Forms 程序,总共有大约 200 个控件。有些在我添加到表单的用户控件中。当我在我的家用机器上运行我的程序时,一个双核 AMD X64,2.0Ghz 和一个 ATI X1600 卡,程序运行良好。它很快,重绘不是问题。
当我把这个程序放到我的桌面上时,一个四核 Intel 2.4Ghz、4GB RAM 和一个 NVidia Gefore 8800GT,它在重绘时速度变慢了。这可能是驱动程序问题吗?
我为所有用户控件和表单启用了双缓冲。那里没有帮助。
我看过这个帖子,但我的情况不一样: Super slow C# custom control
【问题讨论】:
-
我不得不说,用户控件在设计模式下的重绘速度比运行时快。此外,在我的带有 ATI 卡的 AMD 机器上,表格几乎立即显示,而在 NVidia 机器上,表格需要大约 10 秒才能绘制。
-
您是否确保所有驱动程序都是最新的?
-
有了这些数字,它一定是驱动程序问题。你可以用一个小应用程序来确认绘制 100000 条线之类的东西。
-
我经常使用组合框。屏幕上可能同时出现 30 到 40 个,并且由此形成了相当深的子级层次结构。
-
其实说winforms的话,显卡应该和显卡没什么关系,因为GDI+不是硬件加速的吧?