FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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. |
#2
|
|||
|
|||
Podrias probar a poner un:
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. |
#3
|
||||
|
||||
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.
Si esto no funciona, prueba a deshabilitar el puntero del mouse antes de lanzar la consulta y habilitarlo cuando termine. |
#4
|
|||
|
|||
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. |
#5
|
||||
|
||||
Mira los eventos de ratón del dgbrid, seguramente tendrás código ahí.
|
#6
|
||||
|
||||
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. |
#7
|
||||
|
||||
¿Pero has mirado eso?
|
#8
|
|||
|
|||
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. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consultas a traves de internet muy lentas | erickperez6 | Firebird e Interbase | 1 | 29-03-2014 16: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 09:55:07 |
Aplicaciones lentas en vista | vexap | Varios | 3 | 16-11-2010 19:09:46 |
Consultas muy lentas en Interbase 6.01 | Adrian Murua | Firebird e Interbase | 4 | 27-10-2006 21:19:07 |
Pregunta:Como agilizo mis consultas lentas(sp)? | cacuna | Firebird e Interbase | 2 | 28-05-2004 23:04:04 |
|