我有一个用Python编写的应用程序,并使用PyInstaller进行"编译".它还使用PyQt作为GUI框架.
在主窗口加载并显示之前,运行此应用程序会有大约10秒的延迟.据我所知,这不是因为我的代码缓慢.相反,我怀疑这是由于Python运行时初始化.
问题是该应用程序是使用自定义的laucncher /任务栏应用程序启动的.用户将单击按钮以启动应用程序,看不到任何内容,并单击其他应用程序上的其他位置.当我的应用程序显示它的窗口时,由于SetForegroundWindow的规则,它无法到达前台.
我可以访问PyInstaller win32加载器,Python代码甚至启动器代码的源代码.
我的问题是:
如何让这个应用程序更快启动?
如何衡量流程生命周期的前几秒花费的时间?
在第一个窗口显示之前减少时间的普遍接受的技术是什么?
我想避免添加启动画面有两个原因 - 一个,我希望它不会有帮助(开销是在Python代码运行之前)和两个,我只是不喜欢启动画面:)
如果我需要,我可能编辑PyInstaller加载器存根来创建一个窗口,但这是另一条我不想采取的路径.