elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  ¿Técnicas para mejorar el inicio de una aplicación?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Técnicas para mejorar el inicio de una aplicación?  (Leído 2,623 veces)
Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.809



Ver Perfil
¿Técnicas para mejorar el inicio de una aplicación?
« en: 24 Diciembre 2012, 10:42 am »

¿Que "trucos" puedo realizar para que mi APP se ejecute más rápido?

¿Podría mejorar la velocidad por ejemplo desactivando el "DoubleBuffered" del form o desactivando los estilos visuales de XP, o quizás usando una versión inferior del framework?

Conozco la existencia de NGEN, pero aparte de que no noto mejora alguna, busco otro tipo de métodos dentro de la IDE, no ejecutando software de terceros.

Un saludo!


En línea

spiritdead

Desconectado Desconectado

Mensajes: 296


Ver Perfil
Re: ¿Técnicas para mejorar el inicio de una aplicación?
« Respuesta #1 en: 24 Diciembre 2012, 11:37 am »

¿Que "trucos" puedo realizar para que mi APP se ejecute más rápido?

¿Podría mejorar la velocidad por ejemplo desactivando el "DoubleBuffered" del form o desactivando los estilos visuales de XP, o quizás usando una versión inferior del framework?

Conozco la existencia de NGEN, pero aparte de que no noto mejora alguna, busco otro tipo de métodos dentro de la IDE, no ejecutando software de terceros.

Un saludo!
depende de tu formload :)

si tienes ciclos que tardan mucho tiempo podria relentizar el inicio

etc


En línea

Facilitador De Tareas - Task Simplifier (FDT)
Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: ¿Técnicas para mejorar el inicio de una aplicación?
« Respuesta #2 en: 25 Diciembre 2012, 05:11 am »

Hace poco casualmente me puse a cronometrar los tiempos de inicio de algunas de mis aplicaciones y a probar formas de que inicie más rápido, porque en verdad, mientras más grande es la aplicación más cosas debes de iniciar y cargar y más tiempo te consumes en el inicio. Al final encontré algunas soluciones:

Las cosas generales las puedes pasar al StartUp de ApplicationEvents, las más esenciales de las cuales necesitas estrictamente para iniciar no las toques, y las otras que pueden esperar algunas segundos las puedes pasar a unos Thread con IsBrackground en True y Priority en Hight, haciendo uso de delegados para comunicarte con los controles, ya que el usuario no va a utilizar el programa inmediatamente, siempre pierde tiempo en configuraciones y opciones antes de ir a lo que hace el programa, ese tiempo lo puedes utilizar para cargar lo que necesites por debajo por medio de dichos Threads.

Trata de ver bien lo que colocas en el Load, es difícil exponerte todas las situaciones que pueden retrasar el inicio, pero te doy un ejemplo sencillo, imagina que buscamos un archivo de configuración en una carpeta que posee un valor X, si estamos recorriendo todos los archivos de configuración, leyéndolos y comprobando los valores para encontrar el que necesitamos, una vez que lo encontremos podemos cortar el bucle para ahorrar tiempo, en vez de dejar que el bucle continué perdiendo tiempo de ejecución que podría utilizar otro método.

Puedes publicar el código del Load para ver en que te podemos ayudar.
En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: ¿Técnicas para mejorar el inicio de una aplicación?
« Respuesta #3 en: 26 Diciembre 2012, 14:06 pm »

una aplicacion no tiene que tardar mucho en iniciar sino el usuario se pudre, es como en las paginas webs, si no carga en determinado tiempo la pagina el usuario se cansa y abandona la web.

depente de lo que haga la aplicacion, por ejemplo aplicaciones como photoshop que cargan miles de modulos al inicio no tarda mas que unos segundos al iniciar (igual no esta en VB).

una aplicacion normal deberia tardar 2 o 3 segundos en realizar los chequeos al iniciar, desde que hizo click para abrirla.

En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.809



Ver Perfil
Re: ¿Técnicas para mejorar el inicio de una aplicación?
« Respuesta #4 en: 26 Diciembre 2012, 16:27 pm »

Gracias por vuestra información!

Mi app tarda unos 5-10 segundos en cargar la primera vez :(, si la cierro y la vuelvo a abrir enseguida pues obviamente tarda 2-3 segundos, pero la primera vez en cargar le cuesta demasiado, y no hago casi ningun checkeo al inicio, me pondré  ainvestigar y si eso postearé el form load a ver que encuentran...






[OFFTOPIC]


por ejemplo aplicaciones como photoshop que cargan miles de modulos al inicio no tarda mas que unos segundos al iniciar

Es muy discutible ese punto,
Si añades cientos de pinceles personalizados, texturas, colores, estilos, etc, te aseguro que el photoshop tardará varios minutos en iniciarse TODAS las veces, y los menúes de los pinceles se ralentizaN taaaanto!...
Está muy Mal programado en ese aspecto (Yo no sé hacerlo mejor, pero está mal hecho), debería cargarlos la primera vez y olvidarse de tener que testear todos los pinceles cada vez que se abre photoshop, o como mínimo poner una opción para que el usuario pueda decidir, porque los profesionales del diseño, los que tienen más de 2000-5000 pinceles no se como pueden vivir con Photoshop, es insufrible cuando lo cargas un poco.
Ojo, y hablo de un photoshop sin estar muy sobrecargado con menos de 500 pinceles.

Es el peor punto de photoshop, el tiempo de carga de elementos personalizados, y cansa, sí...

Un saludo

[/OFFTOPIC]

En línea

Keyen Night


Desconectado Desconectado

Mensajes: 496


Nothing


Ver Perfil
Re: ¿Técnicas para mejorar el inicio de una aplicación?
« Respuesta #5 en: 26 Diciembre 2012, 18:54 pm »

Que tarde más tiempo la primera vez se debe a que Windows se está "conociendo" con el programa, las veces posteriores ya sabe lo que va a hacer y trata de optimizar el trabajo (Al menos algo bueno en Windows :xD).

Es como cuando te mandan a hacer algo la primera vez, puedes sentirte confundido y si está bien hecho o no, luego con el tiempo vas ignorando eso y lo vas haciendo más rápido porque ya sabes como se hace. Todas estás funciones Windows las almacena en C:\Windows\Prefetch, si borras los archivos de esa carpeta verás que Windows inicia los programas más lento, hasta que de nuevo vuelve a "aprender" de ellos. No se como se estructura este archivo y si cambia de Windows en Windows o de Hardware en Hardware pero sería bueno investigar si lo podemos llevar con nosotros a través de otros equipos :silbar:...
En línea

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines