Jak przyśpieszyć uruchomienie programu WPF?

Programy pisane z wykorzystaniem technologi WPF dają duże możliwości w projektowaniu interfejsów graficznych. Mają one jednak swoje wady, jedną z głównych wad jest to, że czasami aplikacje takie uruchamiają się bardzo wolno.

Ogólne praktyki opisane zostały na stronach Microsoftu: Czas uruchamiania aplikacji. W tym wpisie opiszę sposób na wykorzystanie narzędzia NGEN: Ngen.exe (Generator obrazu natywnego).

NGEN – co to jest?

NGEN to narzędzie instalowane razem z .NET Framework, które wykonuje natywny dla danego komputera obraz programu, dzięki czemu środowisko uruchomieniowe systemu Windows (CLR) nie musi przy uruchomieniu kompilować programu na kod maszynowy. 

W prostych słowach po użyciu narzędzia NGEN – uruchomienie programu jest czasami znacznie szybsze 🙂

Jak użyć NGEN?

NGEN jest instalowany razem z .NET Framework, więc znajdować się będzie w katalogach frameworka. Jeżeli mamy problem ze znalezieniem to można użyć wyszukiwania systemu Windows (WindowsF) i wyszukać plik: ngen.exe.

W przypadku .NET Framework 4.0, plik znajduje się w katalogu:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319
Uruchamiamy wiersz poleceń (Command Line) systemu WIndows (Windows + R i wpisujemy cmd), koniecznie jako administrator!.

Po wpisaniu wpisujemy komendę przenoszącą do katalogu .Net Framework:

CD C:\Windows\Microsoft.NET\Framework64\v4.0.30319

Jak będziemy już w katalogu to uruchamiamy program NGEN ze wskazaniem ścieżki gdzie znajduje się program:

ngen.exe install "C:\Program Files (x86)\LCSoft\ProstaPaczka\ProstaPaczka.exe"

Po zakończeniu pracy można uruchomić program, który był kompilowany – powinno być szybciej 🙂

PS. Jak wiemy że mamy użyć .NET Framework 4.0 to można od razu po uruchomieniu wiersza poleceń (jako administrator) komendy:

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe" install "C:\Program Files (x86)\LCSoft\ProstaPaczka\ProstaPaczka.exe"