要创建并显示表单需要10秒钟,而且我想缩短处理时间。创建表单的优化
在部分是
Inherited Create(AOwner);
哪需要2秒的总运行时间。
有没有一种方法可以缩短Delphi TForm的父创建? 或者你知道是什么的时间在通话
Inherited Create(AOwner);
增加的原因?
更新:我没想到有18条评论和3条答案:D谢谢大家的回复。
在当前状态下,我厌倦了一些围绕此处的配置文件,而非导致代码中的实际代码行,它主要是内核调用或系统调用。
所以买随AQTime德尔福XE2后,我尝试升级项目德尔福XE2,现在需要几天的时间。(大项目)
生病添加信息,因为我得到的信息探查。
顺便说一句,在Windows服务器域之外,使得动作慢两倍。因为内部计算机在5秒钟内运行。这要好得多,但仍然很慢。
Update2:使用Delphi XE2进行编译和运行,比Delphi 2009的时间优先性提高了近20%.AQTime没有产生任何有用的信息。
update3:左边xe2,不稳定。回到2009 Delphi的构造
SendMessage(application.Handle, WM_SETREDRAW, 0, 0);
的起点,也在构造的尽头有试图
SendMessage(application.Handle, WM_SETREDRAW, -1, 0);
form.Repaint;
降低0.1秒。
当我这样做时,表单即刻创建。显然你的代码和我的代码不同。我知道我的代码是干什么的,但我不知道你的代码是什么。 – 2012-03-28 15:23:43
@none如果你有很多,我的意思是表单上有许多**可视化组件,你的应用程序可能需要很长时间才能创建基于* .dfm资源的表单,所以在这种情况下使用代码创建组件可以提高速度,但这会是一个矫枉过正的问题。你使用多个表单继承吗?一些关于你的表单的OnCreate中发生了什么的代码会有所帮助,我认为这是由于某些数据库连接保持打开状态? – ComputerSaysNo 2012-03-28 15:27:40
@DorinDuminica是的,表单包含超过一百个可视化组件。 Constractor本身是巨大的,我试图孤立一个问题。 – none 2012-03-28 15:30:54