Mój wpf ma dziwny problem związany z wydajnością uruchamiania na innym komputerze o tej samej specyfikacji. Jeden komputer ładuje mój program mniej niż sekundę. Inny komputer o tej samej specyfikacji ładuje się co najmniej 10 sekund.Program WPF uruchamia się superszybko na jednym komputerze, ale bardzo wolno na innym
Za pomocą Visual Profeta Performance Profiler, zauważam, że dwa komputery ładują program inaczej! co jest takie dziwne.
Mój problem jest w zasadzie taki sam, jak ten post: C# WPF Very slow application launch
Profiler wydajność na „szybkim” komputera (to znaczy uruchomić program szybki) pokazuje, że program zaczyna się System.Windows.Application. Uruchom(), , natomiast "wolny" pokazuje, że zaczyna się od System.Windows.Application. RunInternal (...)
Z dodatkowym "wewnętrznym" czasem buty wzrosła 10 razy, mimo że dwa komputery są tej samej specyfikacji, a kod źródłowy jest taki sam. (W rzeczywistości jest to zwykły plik startowy WPF light mvvm)
Jakieś pomysły?
'Uruchom' wzywa do 'RunInternal', więc myślę, że to czerwony śledź. –
Prawdopodobnie to [TAK post] (http://stackoverflow.com/questions/7610009/wpf-warm-appdomain-startup-performance-application-runinternal-xamlreader-load) pomoże ci. W rzeczywistości nie jest to prawdziwa odpowiedź, ale ilustruje niektóre sposoby optymalizacji uruchamiania aplikacji. – DHN
@KentBoogaart Wiem, że Run nazywa RunInternal. Ale wydaje się, że powolny wywołuje RunInternal bezpośrednio, zamiast wywoływać Run() z pierwszej ręki. – user2127480