我有一个用Python编写并使用PyInstaller“编译”的应用程序,并使用PyQt作为GUI框架。
在主窗口加载和显示之前,运行此应用程序会有大约10秒的延迟。据我所知,这不是由于我的代码缓慢,而是由于Python运行时初始化造成的。
问题在于,此应用程序使用自定义启动器/任务栏应用程序启动。用户将点击按钮以启动应用程序,看起来似乎没有发生任何事情,然后在其他应用程序上单击。当我的应用程序显示其窗口时,由于SetForegroundWindow的规则,它无法到达前台。
我可以访问PyInstaller win32 loader、Python代码甚至是启动器代码的源代码。
我的问题是:
如何使此应用程序更快地启动?
如何测量进程生命周期的前几秒钟花费的时间?
通常接受的减少时间直到第一个窗口显示的技术是什么?
我希望避免添加闪屏,原因有两个:首先,我认为它不会有所帮助(开销出现在Python代码运行之前),其次,我就是不喜欢闪屏:)
如果必要,我可能可以编辑PyInstaller加载程序存根以创建窗口,但这是另一条路线,我不太想走。