Pythonで記述され、PyInstallerで「コンパイル」されたアプリケーションがあります。また、GUIフレームワークにPyQtを使用します。
このアプリケーションの実行には、メインウィンドウが読み込まれて表示されるまでに約10秒の遅延があります。私の知る限り、これは私のコードの遅さによるものではありません。代わりに、これはPythonランタイムの初期化が原因であると思われます。
問題は、このアプリケーションがカスタムlaucncher/taskbarアプリケーションで起動されることです。ユーザーはボタンをクリックしてアプリを起動し、何も起こらないように見えることを確認してから、別のアプリケーションの別の場所をクリックします。私のアプリケーションがウィンドウを表示するとき、SetForegroundWindowのルールにより、フォアグラウンドに到達できません。
PyInstaller win32ローダー、Pythonコード、さらにはランチャーコードのソースにアクセスできます。
私の質問は次のとおりです。
このアプリケーションをより速く起動するにはどうすればよいですか?
プロセスの存続期間の最初の数秒間に費やした時間を測定するにはどうすればよいですか?
最初のウィンドウが表示されるまでの時間を短縮するために一般的に受け入れられている手法は何ですか?
スプラッシュ画面を追加しないようにしたいのは、2つの理由からです。1つは役に立たないと思います(オーバーヘッドはPythonコードが実行される前です)、2つはスプラッシュ画面が好きではありません:)
必要に応じて、PyInstallerローダースタブを編集してウィンドウを作成することもできますが、それは私が採用したくない別のルートです。