您如何增加Delphi应用程序的启动速度(或减少启动时间)?
除了应用程序特定的方法外,是否有一种始终有效的标准技巧?
注意:我所说的并不是快速算法等方面。仅指在启动时提高性能速度。
您如何增加Delphi应用程序的启动速度(或减少启动时间)?
除了应用程序特定的方法外,是否有一种始终有效的标准技巧?
注意:我所说的并不是快速算法等方面。仅指在启动时提高性能速度。
尽量减少在主窗体的OnCreate事件中的操作,而是将一些初始化移到不同的方法中,并在窗体显示给用户后再进行。显示忙碌鼠标光标可以让用户知道应用程序正在忙。
实验表明,如果您采取相同的应用程序并只是添加启动通知,用户实际上会感觉该应用程序启动更快!
除此之外,您还可以像编译器中排除调试信息和启用优化等常规操作。
此外,请勿自动创建所有窗体。根据需要动态创建它们。
好的,正如Argalatyr建议的那样,我将我的评论改为一个单独的答案:
作为“不要自动创建表单”的扩展答案(本身就相当有效),我建议延迟打开与数据库、互联网、COM服务器和任何外围设备的连接,直到你首次需要它们。
在显示表单前会发生以下三件事:
正如其他人指出的那样,您应该仅自动创建少量表单(特别是如果它们是具有大量组件的复杂表单),并且不应将长时间的处理放在这些表单的OnCreate事件中。如果您的主表单非常复杂,可以重新设计它。一种可能性是将主表单拆分成多个帧,这些帧可以按需加载。
还有可能其中一个初始化块需要一些时间来执行。为了验证,请在程序的第一行(.dpr文件中的主“begin..end”块)上设置断点,然后启动程序。所有初始化块都将被执行,然后断点将停止执行。
以类似的方式,您可以逐步执行主程序(F8)- 您将看到每个自动创建的表单创建需要多长时间。
最快的代码就是从未运行过的代码。这很明显,不是吗? ;)