rabata2001,
Cita:
|
Empezado por rabata2001
...Tengo un PC (Windows XP) dónde estoy ejecutando tres aplicaciones a la vez...
...El primero proceso...tarda más o menos 1,5 segundos y deja congelado al PC mientras se ejecuta...cada 4 segundos...
...El segundo sistema...es rápido en su ejecución...
...El tercer sistema...es el que más molesta...se trata de un reloj...debido al efecto del primer programa a veces se salta segundos (se congela)...
...El primero muestra una clasificación de resultados...realiza consultas a la base de datos para obtener la información (bbdd está en otro servidor, Interbase 7 Windows Server 2003 32 Bits) y una vez que calcula los datos los pinta en varios StringGrid, estos a su vez formatea colores y textos según los datos proporcionados...
|
Te comento:
1- Si el primer proceso se ejecuta en
1.5 seg en promedio y este se ejecuta cada
4 seg aproximadamente, esto implica que en un minuto el PC estará bloqueado
22.5 seg (60 seg / 4 seg * 1.5 seg), según la descripción del problema,
luego en una hora el PC estará bloqueado 22.5 minutos en promedio.
2- ¿Has considerado
utilizar hilos en el primer proceso como se sugirió en el
Msg #2?, el proceso en si bloquea el PC,
si este es dividido en hilos esto mejorara el rendimiento de dicho proceso, en el menor de los casos usar la instrucción
Application.ProcessMessages como se sugirió en el
Msg #7, aunque en este caso es aconsejable incluir programación por hilos en el primer proceso en función de la descripción del problema.
Pregunto:
1- ¿Cuales son las
especificaciones técnicas del PC que ejecuta los procesos a nivel de
Hardware y Software (CPU, RAM, Hard Disk, Motherboard, Tarjeta Gráfica y SO)?.
2- ¿
Tienes acceso al código fuente de los programas?.
3- ¿Haz considerado
optimizar el algoritmo de clasificación de resultados del primer proceso?.
4- ¿Que otros procesos se ejecutan en el PC,
que puedan afectar el performance de los procesos en cuestión (Antivirus, Servicios, Utilitarios, Aplicaciones, etc?.
5- En el caso de que la PC en cuestión tenga un bajo nivel de prestaciones,
¿Haz considerado hacer un upgrade de la misma?.
6- ¿Existe la posibilidad de
probar las aplicaciones en cuestión en otra máquina para contrastar su performance con el PC original?.
La decisión de un cambio de hardware o una actualización de los procesos
dependerá del nivel de criticidad de las aplicaciones, los recursos disponibles y los análisis realizados en función de todo lo comentado.
Espero sea útil
Nelson.