Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Sistemas operativos > Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-06-2014
costaleandro costaleandro is offline
Registrado
NULL
 
Registrado: jun 2014
Posts: 6
Poder: 0
costaleandro Va por buen camino
Windows 7 consultas Lentas

Buenas Noches Gente del Foro.
Paso a comentarles el problema con el que me encuentro.
Hago sistemas en delphi 7 con base de datos firebird 1.5.6
Cuando estan instalados en windows xp las consultas de busquedas por ejemplo andan de manera rapida sin ningun tipo de problema.
Ahora tomo ese mismo sistema y lo instale en un windows 7 ultimate y el sistema anda perfecto, de la misma manera que en windows xp.

Ahora bien, tomo este mismo sistema y lo instale en otro windows 7 ahora professional, y el sistema se pone lento, hago la misma consulta o sea la misma busqueda y lo que es instantaneo en una maquina aqui tarda mas o menos 14 segundos.

Lo instale en otro windows 7 ahora home premiun... mismo problema.

Lo instalo en windows 8 y mismo problema.

De casualidad me di cuenta que al apretar el boton buscar o sea al ejecutar la consulta, cuando sacaba el mouse de la aplicacion de mi sistema, o sea lo posicionaba suponiendo en la barra de tareas de windows o en cualquier otro lugar que sea fuera de mi sistema, la consulta se ejecutaba al instante.
Probe de nuevo hacer la busqueda con el mouse sobre mi aplicacion y la busqueda se pone lenta nuevamente, en cuanto corro el mouse fuera del sistema la busqueda se ejecuta al instante.

Me di cuenta que no es problema de la base de datos ya que ejecuto el sistema desde otra maquina con un windows xp por ejemplo teniendo el motor de base de datos en la maquina que tiene el supuesto problema y las busquedas andan al instante.

Probe poniendo al exe de mi sistema las mismas propiedades que tiene con el windows que anda y no funciono.
Probe sacando anti virus, no funciono
Probe desactivando el firewall, no funciono.
Probe agregando los poertos del firebir, no funciono.
probe con las mismas propiedades de la barra de tareas de windows con windows que anda, no funciono.
probe cambiando el tema de windows poniendo el tema mas basico que viene y distintos temas, no funciono.

Sigue con el mismo problema, inicio la busqueda y tarda una eternidad, saco el foco del mouse de mi sistema, lo posiciono fuera de el y automaticamente trae la busqueda al instante.

Probe dejando el mouse fuera del sistema o sea posicionado sobre la barra de tareas de windows por ejemplo y ejecute la busqueda con una tecla del teclado y la busqueda se ejecuto al instante, posiciono el mouse sobre el sistema y ejecuto con la misma tecla y funciona lento.

Esto me pasa en absolutamente todos los sistemas que hice y en absolutamente todas las busquedas, o sea que supongo no es problema del sistema en si ni tampoco en la busqueda en particurar, si no alguna configuracion rara de windows o algo asi.

Espero puedan ayudarme y perdon lo largo de mi explicacion pero queria dejar en claro todo lo que probe y que no funciono.
Responder Con Cita
  #2  
Antiguo 05-06-2014
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Poder: 14
engranaje Va por buen camino
Podrias probar a poner un:
Código Delphi [-]
  Application.ProcessMessages;
justo despues de lanzar la consulta. Igual no tiene que ver pero podría perfectamente ser que la consulta si que termina rápido pero tu aplicación no se entera hasta que pasa todo ese tiempo. Para estar seguros bien podrías
abrir el administrador de tarea y colocarte en la pestaña de rendimiento para ver cuanto tarda en subir la gráfica del micro desde que le das al boton de ejecutar y cuanto tardas en recibir la respuesta desde que la gráfica "baja". Si es lo que yo sospecho con ese processMessages fuerzas a tu aplicación a escuchar y podrías solucionar este problema.
Responder Con Cita
  #3  
Antiguo 05-06-2014
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.757
Poder: 21
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Por lo visto parece que el problema es con el cursor del mouse sobre la aplicación.

A mi me sucede que al hacer la consulta en tablas que tienen otras tablas anidadas a través de su DataSource.
Cada vez que cambia el registro del maestro debe abrir y cerrar las tablas detalle anidadas y esto hace que el cursor del mouse cambie de forma (flecha --> reloj --> flecha).
Esto hace que Windows pierda mucho tiempo con ese parpadeo.
Prueba deshabilitando controles antes de ejecutar la consulta.
IMPORTANTE: pon esto dentro de un bloque try..finally para que no quede deshabilitado si hay algún problema.
Código Delphi [-]
[...]
try
   DataSet.DisableControls;
   // Abrir DataSet
   DataSet.Open;
finally
   DataSet.EnableControls;
end;
[...]

Si esto no funciona, prueba a deshabilitar el puntero del mouse antes de lanzar la consulta y habilitarlo cuando termine.
Responder Con Cita
  #4  
Antiguo 05-06-2014
costaleandro costaleandro is offline
Registrado
NULL
 
Registrado: jun 2014
Posts: 6
Poder: 0
costaleandro Va por buen camino
Gracias

Muchas gracias por sus aportes, pero probe todos los consejos que dijeron y no funciono.

Lo que si puse ShowCursor(false); ejecuto la consulta y luego ShowCursor(true); y funciona, correctamente.

Una vez que los datos estan en la grilla recorro los datos picando con el mose sobre la grilla y nuevamente se pone lento, dejo el mouse dentro del sistema y recorro con las teclas arriba y abajo la grilla y lo mismo se pone lento.

Ahora bien, saco el mouse lo coloco sobre la barra de tareas y muevo la grilla con las flechas y anda rapido nuevamente.

Por lo que probe ShowCursor(false); y mover la grilla con el teclado y anda rapido.

Por lo que llego a la conclusión que cuando el cursor esta visible el sistema entero se pone lento las consultas, moverme sobre la grilla etc. lo pongo ShowCursor(false); y todo vuelve a funcionar.

El problema es que necesito el ShowCursor(true); si o si ya que es fundamental para usar el sistema.


Calculo debe ser algun problema de windows o algo asi pero no puedo encontrar el problema.

Les agradecería mas aportes.
Responder Con Cita
  #5  
Antiguo 05-06-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.264
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mira los eventos de ratón del dgbrid, seguramente tendrás código ahí.
Responder Con Cita
  #6  
Antiguo 05-06-2014
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.757
Poder: 21
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Cuando te mueves al siguiente registro:
¿El cursor del mouse parpadea? ¿Cambia de flecha a reloj continuamente?

¿Qué haces en el OnScroll del componente de base de datos?
Puedes probar de ocultar y mostrar el cursor en los eventos OnBeforeScroll-OnAfterScroll

¿Qué haces en los eventos del DBGrid?

¿Tienes tablas asociadas a la del DBGrid que no utilizas?
En mi caso tengo formularios complejos con muchos Tabs.
Yo tengo la tabla principal abierta y las tablas que se utilizan en los Tabs se abren y cierran dependiendo de cuál esté visible.
Esto hace que cuando se mueve la tabla principal, no tiene que refrescar los datos de todas las tablas asociadas a la principal por su propiedad DataSource.
Responder Con Cita
  #7  
Antiguo 05-06-2014
costaleandro costaleandro is offline
Registrado
NULL
 
Registrado: jun 2014
Posts: 6
Poder: 0
costaleandro Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Cuando te mueves al siguiente registro:
¿El cursor del mouse parpadea? ¿Cambia de flecha a reloj continuamente?

¿Qué haces en el OnScroll del componente de base de datos?
Puedes probar de ocultar y mostrar el cursor en los eventos OnBeforeScroll-OnAfterScroll

¿Qué haces en los eventos del DBGrid?

¿Tienes tablas asociadas a la del DBGrid que no utilizas?
En mi caso tengo formularios complejos con muchos Tabs.
Yo tengo la tabla principal abierta y las tablas que se utilizan en los Tabs se abren y cierran dependiendo de cuál esté visible.
Esto hace que cuando se mueve la tabla principal, no tiene que refrescar los datos de todas las tablas asociadas a la principal por su propiedad DataSource.
El cursor del mouse parpadea y cambia la flecha a reloj continuamente. eso es exactamente lo que hace.

Pero repito no es problema de consultas o de tablas o de cosas que esten en el scroll.

En el momento que el mouse esta ShowCursor(false); anda a la perfeccion... trae los datos al instante, recorro la grilla sin problemas y esto pasa en todas las pantallas en distintos sistemas sea una consulta bien simple o una compleja, en cuanto pongo ShowCursor(true); todo deja de funcionar se pone lento y El cursor del mouse parpadea y cambia la flecha a reloj continuamente.
Responder Con Cita
  #8  
Antiguo 05-06-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola costaleandro.

El parpadeo del cursor del mouse y el paso a hour glass están indicando una actividad excesiva del procesador, sea cuando trabaja en disco o al interactuar con otros procesos.

Tal vez sea una pregunta obvia, pero ¿ Revisaste bién que los equipos con problemas estén libres de virus, malware, spyware, etc ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 05-06-2014
costaleandro costaleandro is offline
Registrado
NULL
 
Registrado: jun 2014
Posts: 6
Poder: 0
costaleandro Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola costaleandro.

El parpadeo del cursor del mouse y el paso a hour glass están indicando una actividad excesiva del procesador, sea cuando trabaja en disco o al interactuar con otros procesos.

Tal vez sea una pregunta obvia, pero ¿ Revisaste bién que los equipos con problemas estén libres de virus, malware, spyware, etc ?

Saludos
A esta altura nada es obvio, asi que cualquier aporte es valido, si me fije que este todo en orden e incluso fue probado en una maquina recien instalada, y paso lo mismo.
Lo extraño es que todo se soluciona cuando el cursor no esta visible o sea ShowCursor( False )... en cuanto cambio el estado ShowCursor( true ) todo vuelve a funcionar mal...
Y esto no pasa en todos los windows o en todas las maquinas... por lo que pudiera ser el sistema.. o los sistemas o las consultas, esto solo me paso con windows 7 y windows 8.. pero no en todos los windows 7... pero tampoco es la version de windows porque probe en un windows 7 professional y no andaba y probe en otro professional y andaba lo mismo con todas las versiones.
Responder Con Cita
  #10  
Antiguo 05-06-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.264
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Mira los eventos de ratón del dgbrid, seguramente tendrás código ahí.
¿Pero has mirado eso?
Responder Con Cita
  #11  
Antiguo 05-06-2014
costaleandro costaleandro is offline
Registrado
NULL
 
Registrado: jun 2014
Posts: 6
Poder: 0
costaleandro Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Pero has mirado eso?
Perdon me olvide de contestarte...

Sisi... no hay ningun codigo en los eventos del dbgrid.
Responder Con Cita
  #12  
Antiguo 05-06-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.264
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por costaleandro Ver Mensaje
no hay ningun codigo en los eventos del dbgrid.
¿Y en los eventos del ratón del formulario?
Responder Con Cita
  #13  
Antiguo 06-06-2014
costaleandro costaleandro is offline
Registrado
NULL
 
Registrado: jun 2014
Posts: 6
Poder: 0
costaleandro Va por buen camino
Solucionado

Luego de mucho tiempo de prueba pero mucho tiempo de prueba de ensayo y error, pude descubrir el problema.
Yo trabajo con el componente Zeos Acces para conectarme a las bases de datos, el componente ZConnection trae una propiedad que se llama SQLHourGlass, esa propiedad viene por defecto en estado false, en algun momento y no se porque motivo la puse en true.
En windows xp, el cambio en velocidad de las consultas es minimo, en cambio cuando lo probas en windows 7 en adelante, las consultas se ponen tan lentas que hasta deja de funcionar los sistemas.
Al poner el estado en false, las consultas que tardaban en windows 7... 40 segundos para ejecutarse, pasaron a 0,2 segundos, o sea un cambio totalmente increible, ademas luego me di cuenta que en realidad las pantallas cargan mas rapido, y todo funciona mucho mejor, lo raro era que sacando el cursor del sistema o sea colocandolo por ejemplo en la barra de tareas todo funcionaba excelente.

Supuse que el problema era windows porque daba la casualidad que el problema lo habia replicado en varios sistemas, o sea habia copiado la conexion con su estado true a muchos sistemas, y en windows xp todos andaban bien, ahora cuando los pasaba a windows 7, pasaban a andar muy lentos y todo funcionaba mal, pero eso no era todo, si no que en algunos windows 7 y 8 andaban bien, y no importaba cual fuera la version de windows, por lo que parecia que el problema era aleatorio.
Llegue a la conclusion que en los windows 7 que el sistema andaba bien, la caracteristicas que tenia, era que las maquinas en donde estaban instalados los windows 7 tenian una placa grafica grande, y hasta el momento es mi unica conclusión.
Ahora es extraño lo que provoca y no se porque en xp el sistema anda bien.
Tengan en cuenta que en los win 7 que andaba mal, probe todas las configuraciones de windows posibles, hasta a modo a prueba de fallos y seguia con el mismo problema, el sistema se ponia lento y cuando sacaba el cursor fuera del sistema las consultas se ejecutaban al instante.
La verdad que no se bien que provoca esta propiedad, pero puede hacer que pienses que es la base de datos, problemas de compatibilidad, virus, versiones de windows, problemas de programación, problemas en consultas, etc., sepan que es simplemente eso.
Seguramente esto les va a servir a los que trabajen con Zeos, y les va a servir de mucho.... gracias por los aportes y la preocupación.
Responder Con Cita
  #14  
Antiguo 03-10-2014
Salvi Salvi is offline
Registrado
NULL
 
Registrado: oct 2014
Posts: 3
Poder: 0
Salvi Va por buen camino
Buenas a tod@s:
Hacia tiempo que no escribia en un forum de Delphi.

El problema reside en modificar el cursor, cambiando el icono. En mi caso se modifica al lanzar una consulta SQL.

Una possible solución es quitar la sombra al raton. Se configura en windows, pero ahora no recuerdo donde.
Aunque en algunos PC no ha funcionado y por tanto este error depende del W7 y la tarjeta grafica en mi caso, placas de Intel

Encontre esta aportación de sobre Intel, si buscas cursor lag when mouse cursor changes lo podrás encontrar.

Espero que esto aclaré un poco más este problema.
Responder Con Cita
  #15  
Antiguo 12-02-2018
jesusmp jesusmp is offline
No confirmado
 
Registrado: may 2008
Posts: 2
Poder: 0
jesusmp Va por buen camino
Thumbs up Mismo problema y la solución

Es EL RATON.
Con tarjetas Graficas Intel HD Graphics 520 y en general Intel. Me ocurría lo mismo.


- Prueba1: Si abro la aplicación con el raton fuera de la ventana: OK-Rapido. Si lo abro con el raton posicionado en la ventana: Mal-Lento.

- Prueba2: Definitiva.
· Ir a Configuracion Windows10 (Personalizacion, Pantalla de Bloqueo, Temas): Temas / Cursor del mouse (Pestaña Punteros):
· En Esquema= Ninguno ....y sorpresa..... OK-funciona rapida la aplicación. En realidad es cualquier tema EXCEPTO el "Predeterminado Windows".


Mirad a ver si os ocurre pero he probado en varios equipos y OK.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consultas a traves de internet muy lentas erickperez6 Firebird e Interbase 1 29-03-2014 17:14:21
Consultas extremadamente lentas en Delphi y rapidicimas en PL/SQL(ORACLE) pnsd_89 Conexión con bases de datos 13 01-07-2011 10:55:07
Aplicaciones lentas en vista vexap Varios 3 16-11-2010 20:09:46
Consultas muy lentas en Interbase 6.01 Adrian Murua Firebird e Interbase 4 27-10-2006 22:19:07
Pregunta:Como agilizo mis consultas lentas(sp)? cacuna Firebird e Interbase 2 29-05-2004 00:04:04


La franja horaria es GMT +2. Ahora son las 19:49:11.


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