Mam aplikację napisaną w Pythonie i "skompilowaną" z PyInstaller. Wykorzystuje również PyQt do struktury GUI.Windows: Powolny start aplikacji
Uruchomienie tej aplikacji ma opóźnienie około 10 sekund przed załadowaniem głównego okna i wyświetleniem. O ile wiem, nie wynika to z powolności w moim kodzie. Zamiast tego podejrzewam, że jest to spowodowane uruchomieniem środowiska wykonawczego Python.
Problem polega na tym, że ta aplikacja jest uruchamiana z niestandardową aplikacją laucncher/taskbar. Użytkownik kliknie przycisk, aby uruchomić aplikację. Nic się nie wydarzy i kliknij w innym miejscu w innej aplikacji. Kiedy moja aplikacja pokazuje swoje okno, nie może przejść na pierwszy plan ze względu na reguły SetForegroundWindow.
Mam dostęp do źródła dla programu ładującego win32, kodu Python, a nawet kodu programu uruchamiającego.
Moje pytania są następujące:
Jak mogę uruchomić tej aplikacji szybciej?
Jak mogę zmierzyć czas spędzony w pierwszych kilku sekundach cyklu życia procesu?
Jaka jest ogólnie przyjęta technika zmniejszania czasu do wyświetlenia pierwszego okna?
Chciałbym uniknąć dodawania ekran powitalny z dwóch powodów - jeden, spodziewam się, że nie pomoże (koszt jest przed kod Python działa), a dwa, że po prostu nie lubią ekranów powitalnych :)
Jeśli zajdzie taka potrzeba, prawdopodobnie mógłbym edytować kod programu PyInstaller, aby utworzyć okno, ale to inna droga, której nie powinienem brać.
Dzięki za sugestie.
Masz rację, stworzyłem prostszą aplikację i rzeczywiście czas uruchomienia stał się niemal natychmiastowy. Używam trybu onedir. Uważam, że problemem jest mój kilka importów. Mam dużo więcej możliwości śledzenia. –
Wow, dzięki za wskazówkę na temat antywirusa. Po wyłączeniu mojego AV, mój exe przyspieszył. – iridescent