2008-09-12 22 views
5

Tengo un Windows Form que lleva bastante tiempo cargar inicialmente. Sin embargo, cada solicitud posterior para cargar el formulario no toma tanto tiempo. ¿Hay alguna forma de optimizar el tiempo de carga de un Formulario?Optimizar Windows Form Load Time

Respuesta

10

Puede usar ngen.

También uso este consejo para reducir el Memory footprint on startup.

Native Image Generator (Ngen.exe) es una herramienta que mejora el rendimiento de las aplicaciones administradas. Ngen.exe crea imágenes nativas, que son archivos que contienen código máquina compilado específico del procesador, y las instala en la caché de imágenes nativas en la computadora local. El tiempo de ejecución puede usar imágenes nativas de la memoria caché en lugar de usar el compilador just-in-time (JIT) para compilar el ensamblado original.

+1

Tenga en cuenta que pierde los beneficios de JITting cuando utiliza NGEN. Una cosa que puede hacer es colocar el Formulario en un EXE NGENed y el resto de la lógica de la aplicación en una DLL que no esté NGENed. –

+0

Buen consejo marxidad. si puedes publicarlo como respuesta, un voto a favor mío :) –

+0

Una gran respuesta de Will Dean a continuación. –

5

Necesita saber a dónde va el tiempo antes de poder optimizarlo. No lo acabe de descubrir sin descubrirlo primero, como si el problema es cargar un recurso de mapa de bits de fondo de 150MB, entonces no habrá hecho nada útil con ngen.

Debe ignorar todos los consejos específicos o intuiciones acerca de la optimización que surgen sin que se realicen mediciones.

+0

Esto es muy cierto. ¿Tiene algún método para encontrar posibles cuellos de botella? –

+0

usando un generador de perfiles como [Red Gate] (http://www.red-gate.com/products/dotnet-development/dotnet-developer-bundle/) es muy bueno para encontrar cuellos de botella :) – Darkzaelus

Cuestiones relacionadas