具有大量控件的C#/ .net表单的性能

时间:2011-01-04 06:35:48

标签: c# .net winforms performance controls

表单上的控件数量是否会影响其性能?如果控件被标记为不可见怎么办?如果几个控件可见,但只有少数几个控件(如包含几个控件的面​​板)完全覆盖怎么办?

我从三维建模软件包,视频编辑软件等应用程序的角度问这个问题。他们有隐藏的面板,标签,卷展栏,动画抽屉等等。

有没有人做过任何此类性能测试?正在考虑这个值得吗?

2 个答案:

答案 0 :(得分:3)

是。在绘图之外,每个控件都只是通过初始化它来使用它自己的窗口句柄。所以即使看不见或隐藏,也会影响性能。

控制的类型也有所不同。第三方或自定义控件有时会由多个控件组成,每个控件都有自己的句柄。

通常,控制量的前期考虑是在可用性上下文中完成的,通常应该有助于避免性能问题。

答案 1 :(得分:2)

没有进行任何性能测试,很容易说太多控件存在性能问题,

  • 内存使用量增加(UI对象非常庞大)。
  • OnPaint和其他消息库 方法将被调用(用于控制 或继承父母 层次)