Caricamento della GUI del desktop lento

0

Sto sviluppando una GUI basata su desktop (modulo singolo) utilizzando wxPython e la carica utilizzando l'accesso Citrix remoto dalla rete privata del client.

Supponiamo che la GUI abbia un determinato gruppo di caselle di selezione e di testo che vengono caricate insieme all'avvio dell'applicazione. Il valore delle caselle di selezione proviene dal database e sulla base della selezione del valore della casella di selezione, le caselle di testo corrispondenti (che inizialmente sono vuote) vengono compilate dal database.

Ora il problema è che, a causa dell'accesso remoto lento, dobbiamo attendere molto tempo (circa 5-7 minuti) prima che tutti i controlli vengano caricati. C'è qualche suggerimento, se possiamo ridurre questa volta?

Un modo che viene in un primo momento è quello di dividere la GUI in più schede e dividere i controlli tra le schede. In questo modo ho bisogno di caricare meno controlli all'avvio dell'applicazione per mostrare la prima scheda. Gli altri controlli vengono caricati solo dopo aver fatto clic sulla scheda corrispondente dell'utente.

Qualunque altro modo o questo è l'approccio migliore?

    
posta SRC 16.04.2012 - 20:18
fonte

2 risposte

2

7 minuti? Questo deve essere megabyte vale la pena di dati. Anche su un modem 56K è possibile scaricare un megabyte o più in quel momento. Se non sono megabyte di dati, si utilizza un modello di accesso errato come un cursore fetch-one e si dovrebbe passare a un modello di download batch. Se si tratta di molte piccole query individuali, attivale simultaneamente sui thread o scrivi una procedura di database per raccogliere tutti i dati sul lato server e inviarli in una query.

Se i valori delle caselle di selezione cambiano raramente, memorizza i valori in un file di testo o in un database locale e utilizzali fino all'arrivo dei valori reali.

Oppure, scrivi i valori nell'applicazione o in una libreria condivisa. Quindi controlla l'aggiornamento dell'applicazione all'avvio, il modo in cui funzionano le applicazioni fiscali.

Se i dati cambiano frequentemente, tenere traccia delle modifiche e fornire un modo per scaricare le patch per aggiornare le cache dei dati locali.

Infine, impostalo in modo che eventuali errori dovuti a dati obsoleti vengano catturati durante l'invio dei dati al database reale.

    
risposta data 18.04.2012 - 21:14
fonte
2

Con qualsiasi design di modulo, è meglio caricare solo i dati che l'utente dovrà vedere al caricamento iniziale. Quindi, invece di lanciare ogni controllo con cui l'utente interagirà con il primo modulo, lo sparga come suggerito con le schede, oppure lo apri su finestre / menu / ecc separati.

    
risposta data 18.04.2012 - 17:42
fonte

Leggi altre domande sui tag