为什么winform的启动那么慢!

l000f 2012-10-04 10:43:56
为了防止加载过多启动慢,特意加了一个闪屏,结果,闪屏出来的也慢!我实在想不出来慢在什么地方!!!
大家给点意见到底怎么才能快些。
一个小程序,启动需要3-5秒,我要疯了!!!
难道真的要让我退回到Delphi吗!
...全文
552 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
DSIOF3KIDSKTR 2012-10-08
  • 打赏
  • 举报
回复
自己的程序有问题,还一副装无辜的样子,直接新建一个包含一个Form的项目,不做任何修改,生成之后直接启动,看一下运行时间会会不会超过30ms
xiedingan 2012-10-08
  • 打赏
  • 举报
回复
没感觉它慢多少...
ssa 2012-10-08
  • 打赏
  • 举报
回复
可以用Microsoft的供的本机映像生成器 (Ngen.exe) 提高程序的性能
路边一青蛙 2012-10-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

退回到Delphi吧。
[/Quote]

+1 不是C#的问题,即便C#比C++慢,也不至于出现你这种情况,不合理的实现方式才是根本原因,与语言无关!~
lei00529 2012-10-08
  • 打赏
  • 举报
回复
换台机器试看,有可能机器问题。
xxjltan 2012-10-06
  • 打赏
  • 举报
回复
+1[Quote=引用 1 楼 的回复:]

闪屏放入独立的线程,并且确保在Main函数一开始的地方调用。

把程序分成多个程序集(dll)保持主程序的短小。

至于为什么要3~5秒,这个不好说,你试试看最简单的WinForm程序多少时间,应该是瞬间出现的,否则是你电脑的问题。
[/Quote]
lshfong 2012-10-05
  • 打赏
  • 举报
回复
.net不是真正的编译,需要在框架中执行,所以慢
要想执行速度快,可以考虑用c++
  • 打赏
  • 举报
回复
退回到Delphi吧。
QQ1376206577 2012-10-05
  • 打赏
  • 举报
回复
jitting很慢,framework就这样没办法,想快用c++写吧
mngzilin 2012-10-05
  • 打赏
  • 举报
回复
你from_load中执行太多了吧,
l000f 2012-10-05
  • 打赏
  • 举报
回复
我的代码 program.cs

static class Program {
[STAThread]
static void Main() {
DevExpress.UserSkins.BonusSkins.Register();
DevExpress.Skins.SkinManager.EnableFormSkins();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//应用程序综合汉化。
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-CHS");
Application.Run(new frmMain());
//Application.Run(new Frm_Splash());
}

frmMain()

public frmMain()
{
Frm_Splash f = new Frm_Splash();
f.Show();
Application.DoEvents();
InitializeComponent();
Application.DoEvents();
barManager1.ForceLinkCreate();
barManager1.GetController().Changed += new EventHandler(ChangedController);
iFavorites.Down = dockPanel1.Visibility == DevExpress.XtraBars.Docking.DockVisibility.Visible;
ips_Init();
InitSkins();
InitForm();
this.Focus();
f.Close();
}
threenewbee 2012-10-04
  • 打赏
  • 举报
回复
闪屏放入独立的线程,并且确保在Main函数一开始的地方调用。

把程序分成多个程序集(dll)保持主程序的短小。

至于为什么要3~5秒,这个不好说,你试试看最简单的WinForm程序多少时间,应该是瞬间出现的,否则是你电脑的问题。

110,825

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧