【发布时间】:2010-10-07 19:08:01
【问题描述】:
如何加速优化 Windows 窗体应用程序?
我不是在谈论明显的 .NET 优化技术——比如NGEN-ing、缓存对象等。我已经尝试过了,我要做的是将表单初始化时间从 1500 毫秒减少到 500 毫秒毫秒。
Profiling 已经识别出最慢的代码并且几乎所有的代码都在InitializeComponent 中,并且在这个方法中最慢的行是
- 创建(刚刚更新的)WebBrowser 组件
- 从资源加载图标(可怕的 500 毫秒)
-
ContextStripMenu的创建 - 几个
this.Controls.Add()电话也有很大贡献。
目前,我只能看到如何解决第 (2) 点 - 将图标数据从作为嵌入式资源存储到私有字段(例如,Base64-编码字符串)。
第 1 点、第 3 点和第 4 点我应该怎么做?
【问题讨论】:
-
1500ms 只是第一次实例化表单还是每次?
-
不确定,但想法是消除第一次显示表单时的延迟。如果应用速度慢,可能没有第二次机会。
-
这就是闪屏的用途——在应用程序第一次加载时分散用户的注意力;-)
标签: c# .net winforms optimization