J'ai un Windows Form qui prend beaucoup de temps à charger initialement. Cependant, chaque demande ultérieure pour charger le formulaire ne prend pas autant de temps. Est-il possible d'optimiser le temps de chargement d'un formulaire?Optimisation du temps de chargement de formulaire Windows
Répondre
Vous pouvez utiliser ngen. J'utilise également cette astuce pour réduire le Memory footprint on startup.
Le générateur d'images natives (Ngen.exe) est un outil qui améliore les performances des applications gérées. Ngen.exe crée des images natives, qui sont des fichiers contenant du code machine spécifique au processeur compilé, et les installe dans le cache d'image natif sur l'ordinateur local. Le moteur d'exécution peut utiliser des images natives du cache à la place en utilisant le compilateur juste-à-temps (JIT) pour compiler l'assembly d'origine.
Vous devez trouver l'heure avant de pouvoir l'optimiser. Ne vous contentez pas de le faire sans le trouver d'abord, comme si le problème était de charger une ressource bitmap d'arrière-plan de 150 Mo alors vous n'auriez rien fait d'utile avec ngen.
Vous ne devez pas tenir compte de tous les conseils spécifiques ou des intuitions concernant l'optimisation qui surviennent sans qu'aucune mesure ne soit effectuée.
C'est très vrai. Avez-vous des méthodes pour trouver des goulets d'étranglement potentiels? –
en utilisant un profileur tel que [Red Gate] (http://www.red-gate.com/products/dotnet-development/dotnet-developer-bundle/) est très bon pour trouver des goulots d'étranglement :) – Darkzaelus
Notez que vous perdez les avantages de JITting lorsque vous utilisez NGEN. Une chose que vous pouvez faire est de mettre le formulaire dans un EXE NGENed et le reste de la logique de l'application dans une DLL qui n'est pas NGENed. –
Bon conseil marxidad. Si vous pouvez poster comme une réponse, un upvote de moi :) –
Une bonne réponse de Will Dean ci-dessous. –