![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
![]() Buenas a todos,
Tengo un PC (Windows XP) dónde estoy ejecutando tres aplicaciones a la vez y me es necesario así porque ese PC saca información a pantallas al exterior con una tarjeta gráfica de 4 salidas (salida a TV). El primero proceso y el más costoso realiza un proceso que tarda más o menos 1,5 segundos y deja congelado al pc mientras se ejecuta y esto ocurre cada 4 segundos. El segundo sistema es más pequeño y es rápido en su ejecución (casi no le afecta) El tercer sistema es rápido en su ejecución pero es el que más molesta en su visualización se trata de un reloj y una cuenta atrás (Timer cada segundo), debido al efecto del primer programa a veces se salta segundos (se congela). Por ejemplo en el reloj se observa: 10:15:23, 10:15:24, 10:15:26 (no llega a verse pintado la 10:15:25). He probado usando la afinidad de CPU's al ser un sistema de doble núcleo con windows XP. Lo conveniente sería que una CPU se ocupase de los dos primeras aplicaciones y otra CPU se ocupase del tercer sistema (Visualización del reloj) para evitar la congelación. ¿Alguien se ha encontrado con algo similar?. ¿Alguien ha soluciona esto?. ¿Algún sistema que lo resuelva o través de configuración?. Gracias a todos por vuestra colaboración. |
#2
|
||||
|
||||
Hola rabata2001,
Lo único que puedes hacer es que lo realices con hilos, puede ser la solución a tu problema. Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#3
|
||||
|
||||
Cita:
Rabata2001, dices que has probado lo de asignar afinidad a los procesadores . ¿Has comprobado que se asigna bien? ¿Has usado imagecfg u otro programa? Si es así y el problema sigue estando, es posible que no sea problema del procesador, sino de otra cosa. Asumo que el proceso que te provoca "la parada" en el sistema es el primero. ¿Si lo paras, los otros funcionan bien? Si ya tienes claro que el problema está en ese proceso, habrá que centrarse en él, para solventarlo. ¿Exactamente qué hece ese proceso que bloquea?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
|||
|
|||
![]() buenas tardes y gracias por vuestro comentarios
Cita:
Cita:
Cita:
Saludos. Última edición por rabata2001 fecha: 21-11-2013 a las 13:34:55. |
#5
|
||||
|
||||
Cita:
Entonces ya es seguro que es por el primer sistema y que no es por el procesador, sino por alguna otra causa. Cita:
Deberías poder comprobar eso mirando el gráfico de procesadores. En ese caso sólo 1 debería estar al máximo. No tiene sentido que se te bloquee TODO el equipo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
||||
|
||||
¿Has probado a subir o bajar la prioridad de los procesos?
En el Administrador de procesos, seleccionas el proceso y con botón derecho haces click. Luego vas a "establecer prioridad" y eliges alguna. Prueba a subir la del primero y bajar la de los otros dos y también la contraria, bajar la prioridad del primer proceso y subir la de los otros dos. |
#7
|
||||
|
||||
¿El primer proceso lo has hecho tu?
Si es así, quizás podrías hacer que devuelva el control después de cada parte que ejecuta:
o
|
#8
|
||||
|
||||
rabata2001,
Cita:
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. |
#9
|
||||
|
||||
No sirve con solo saber cual es el programa. Hay que saber cual es el codigo, exacto, que provoca el bloqueo. Muéstranos eso y vemos que se puede hacer.
__________________
El malabarista. |
#10
|
|||
|
|||
![]() Muchas Gracias a todos.
Ya he conseguido desbloquear. existían dos problemas: El primer Problema.- se solucionó haciendo mas eficiente el segundo programa, aunque era pequeño, pero también consumía recursos (cada seg.) El segundo problema.- También solucionado. Estoy usando en el programa más costoso, los alpha skins, este proceso saca del mismo PC 5 pantallas a TV, se consumen muchos recursos al utilizar los skins y bloqueaba también el pc, ha sido deshabilitar el skins y va muchísimo mejor. El sistema donde se ejecuta al ser windows xp no sé si asocia correctamente afinidad y prioridad. Gracias nuevamente a todos por vuestros consejos. De todas formas aplicaré mejoras de rendimiento, os tendré al tanto. |
#11
|
||||
|
||||
rabata2001,
Cita:
![]() Cita:
Espero sea útil ![]() Nelson. |
#12
|
|||
|
|||
![]() Estoy pensando no sólo en windows 7 sino pasarme directamente a Windows 8, para ver el rendimiento de todas las aplicaciones del sistema
|
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
INFO: DLL's, BPL's, carga dinámica, carga estática y Packages en Runtime | Neftali [Germán.Estévez] | OOP | 26 | 13-12-2013 19:29:55 |
congelado de la imagen de la aplicacion | delphi_oracle | Conexión con bases de datos | 7 | 05-09-2006 21:00:39 |
Problema de impresion debido al PrintItemIndex!!! | neon | Impresión | 1 | 09-11-2004 12:41:48 |
Problema de impresion debido al PrintItemIndex!!! | neon | Impresión | 0 | 03-11-2004 14:02:13 |
Detección de Carga de un programa | craven | Varios | 3 | 24-11-2003 16:10:46 |
![]() |
|