2013-05-17 22 views
6

Il mio programma wpf ha uno strano problema riguardante le prestazioni di avvio su computer diversi con le stesse specifiche. Un computer carica il mio programma meno di un secondo. Un altro computer con la stessa specifica carica 10+ secondi.Il programma WPF si avvia in modo super veloce su un computer ma molto lento su un altro

Con l'aiuto del profiler delle prestazioni di Visualstudio, noto che due computer caricano il programma in modo diverso! che è così strano

Il mio problema è fondamentalmente lo stesso di questo post: C# WPF Very slow application launch

Il profiler prestazioni del computer "fast" (intendo avviare il programma veloce) mostra che il programma inizia con System.Windows.Application. Esegui(), mentre quello "lento" indica che inizia con System.Windows.Application. RunInternal (...)

Con l'ulteriore "interno" il tempo di avvio è aumentato di 10 volte anche se due computer sono della stessa specifica e il codice sorgente è lo stesso. (In realtà, è semplicemente semplice file iniziale WPF mvvm)

Qualche idea?

+4

'Run' chiama in' RunInternal', quindi penso che sia una falsa pista. –

+0

Probabilmente questo [post SO] (http://stackoverflow.com/questions/7610009/wpf-warm-appdomain-startup-performance-application-runinternal-xamlreader-load) ti aiuterà. In realtà non è una risposta reale, ma illustra alcune misure su come l'avvio dell'applicazione può essere ottimizzato. – DHN

+0

@KentBoogaart So Run chiama RunInternal. Ma sembra che quello lento stia chiamando direttamente RunInternal invece di chiamare Run() in prima persona. – user2127480

risposta

0
  1. Registra eccezioni non rilevate (nel livello dell'app).
  2. Vedere se gli utenti su entrambi i computer hanno lo stesso livello di autorizzazioni (entrambi sono admin i.e., O meglio non lo sono).

Questo dovrebbe aiutare.

0

L'altra cosa da controllare potrebbe essere l'anti-virus. Una macchina esegue AV in tempo reale e l'altra no? Entrambi sono membri degli utenti registrati degli stessi gruppi? Entrambe le macchine sono nella stessa unità organizzativa?

0

Verificare in entrambi i computer quali servizi sono in esecuzione. Controlla l'utilizzo della CPU in due scenari eseguendo l'applicazione e dopo aver chiuso l'applicazione.

Problemi correlati