Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-06-2005
zugazua2001 zugazua2001 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Necochea
Posts: 237
Poder: 20
zugazua2001 Va por buen camino
Evitar los timers

Hola en mi aplicacion presento varias fotos que se van cambiando mediante unos timers.
La aplicacion se me pone muy lenta, esto lo observo cuando abro los menues y me muevo por las distintas opciones.
Queria saber como puedo hacer para evitar que se ponga lenta la aplicacion.
Gracias por todo y saludos.
Responder Con Cita
  #2  
Antiguo 16-06-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Si el intervalo del timer es muy pequeño (milisegundos) puede que esté agobiando al resto del programa, en ese caso, en el evento OnTimer, añade un Application.ProcessMessages.

Espero te ayude.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 16-06-2005
zugazua2001 zugazua2001 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Necochea
Posts: 237
Poder: 20
zugazua2001 Va por buen camino
Gracias, no encontre diferencia

Hola probe lo que me dijistes y no encontre diferencia.
Muchas gracias;
Responder Con Cita
  #4  
Antiguo 16-06-2005
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Prueba a cambiar los timers, el que trae delphi no es muy efectivo, te aconsejo que pruebes el que trae las RX
Es un timer "multihilo" que no consume recursos apenas y es muchísimo más exacto que el de delphi.
Responder Con Cita
  #5  
Antiguo 16-06-2005
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 22
Mick Va por buen camino
Lo mas probable es que el codigo que se ejecuta dentro de esos timers necesita mucha CPU o mucho movimiento de datos/imagenes desde la memoria ram o disco hacia la memoria de la tarjeta grafica.
Como se comenta poniendo el timer en un Thread podria hacer que mejore la respuesta del programa, a costa eso si de que el proceso que muestra las fotos se ralentice ya que el microprocesador es uno solo , y solo puede hacer una cosa a la vez.
Otro problema es que si efectivamente ese proceso lo que hace principalmente es dibujar imagenes en la pantalla, un thread aparte no tendria porque resolver el problema debido a que dentro de una misma aplicacion solo un proceso a la vez (normalmente el principal con el uso de synchronize) puede dibujar en la pantalla, de modo que si el codigo del timer esta dibujando esas imagenes, los menus, butones etc, y otros elementos graficos del programa no pueden refrescarse o redibujarse hasta que el proceso del timer acabe de dibujar.
En definitiva yo haria las dos siguiente cosas:
-Comprobar la velocidad del timer , puede estar demasiado rapido.
-Comprobar el consumo de cpu del proceso de dibujado, que es donde seguramente estara el problema, en este caso solo se pueden hacer dos cosas, o poner una cpu mas rapida u optimizar ese codigo para que haga el mismo trabajo en menos tiempo (usando menos cpu).

Saludos
Responder Con Cita
  #6  
Antiguo 17-06-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Acabo de recordar un detalle, creo que importante, Un menú tapará la imagen de fondo cuando lo despliegas y al moverte por los menus, hace que se redibuje la imagen de fondo con lo cual, el timer y el propio menú está duplicando las veces que se redibuje la imagen de fondo.

En este contexto, quitaría la imagen de fondo

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 04:44:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi