Ho un'applicazione scritta in Python e "compilata" con PyInstaller. Utilizza anche PyQt per il framework GUI.Windows: avvio lento dell'applicazione
L'esecuzione di questa applicazione ha un ritardo di circa 10 secondi prima che la finestra principale venga caricata e visualizzata. Per quanto posso dire, questo non è dovuto alla lentezza nel mio codice. Invece, sospetto che ciò sia dovuto all'inizializzazione del runtime di Python.
Il problema è che questa applicazione viene avviata con un'applicazione laucncher/barra delle applicazioni personalizzata. L'utente farà clic sul pulsante per avviare l'app, non vedere apparire nulla e fare clic altrove su un'altra applicazione. Quando la mia applicazione mostra che è finestra, non può arrivare in primo piano a causa delle regole di SetForegroundWindow.
Ho accesso all'origine per il loader win32 PyInstaller, il codice Python e persino il codice di avvio.
Le mie domande sono:
Come posso fare avviare l'applicazione più veloce?
Come posso misurare il tempo trascorso nei primi secondi della durata del processo?
Qual è la tecnica generalmente accettata per ridurre il tempo finché non viene visualizzata la prima finestra?
vorrei evitare di aggiungere uno splash screen per due motivi - uno, mi aspetto che non aiuterà (l'overhead è prima di codice Python viene eseguito) e due, io proprio non mi piace splash screen :)
Se necessario, potrei probabilmente modificare lo stub del loader PyInstaller per creare una finestra, ma questa è un'altra strada che preferirei non prendere.
Grazie per i suggerimenti.
Avevi ragione, ho creato un'applicazione più semplice e infatti il tempo di avvio è diventato quasi istantaneo. Sto usando la modalità onedir. Credo che il problema siano le mie numerose importazioni. Ho molto più tracciamento da fare. –
Wow, grazie per il suggerimento sull'antivirus. Una volta disabilitato il mio AV, il mio exe ha accelerato. – iridescent