Jump to content


Photo

Rendimiento de aplicaciones en W8


  • Please log in to reply
13 replies to this topic

#1 maurixio5540

maurixio5540

    Member

  • Miembros
  • PipPip
  • 31 posts
  • LocationColombia

Posted 28 April 2014 - 10:59 AM

Saludos.

Amigos del foro, resulta que tengo varias aplicaciones realizadas en DELPHI 7 y con conexion a BD Firebird 2.5. Estas aplicaciones funcionan de manera correcta en sistemas operativos WXP, W7 y algunos W8. Pero he tenido inconvenientes con esta ultima. Las maquinas del cliente donde se presentan los problemas tienen las siguientes características:

sistema operativo Windows 8.
Procesador Core I3
Memoria de 4gb
disco de 1 Tera.

Acerca del SO:
Windows 8 single language
Version 6.2 (compilacion 9200)
sistema operativo 64 bit procesador x 64

El inconveniente es en cuanto a rendimiento se refiere, presenta lentitud al momento de cargar los forms. He revisado tiempos de respuesta al momento de ejecutar los diferentes sql's. Pero los resultados son bastantes conformes, intente actualizar el SO, quedando en Windows 8.1 single language Y PERSIGUE EL PROBLEMA.

Anteriormente se hicieron pruebas en WINDOWS 8.1 Pro tanto de 32 como de 64 bits y los resultados fueron satisfactorios, y como había mencionado anteriormente no tiene problema alguno en esta versión.

Quisiera saber si a alguien se le ha presentado este inconveniente y pudo encontrar una solución al respecto

Quedo atento y agradecido a sus sugerencias y/o comentarios.

  • 0

#2 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1092 posts
  • LocationMurcia, España

Posted 28 April 2014 - 12:48 PM

Quizas no tenga nada que ver, pero algunos windows consideran, vete a saber porqué, que los ficheros .GDB son del sistema y los copia a cada cambio para crear puntos de recuperación y esas cosas, así que prueba con .FDB a ver si eso ayudase (pero eso es en el servidor de FireBird realmente).

Respecto a win8 en especial, tengo bastantes usuarios ya con W8 y nadie me ha reportado nada anómalo.
  • 0

#3 genriquez

genriquez

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 539 posts
  • LocationCali, Colombia

Posted 28 April 2014 - 04:17 PM

Hola, tengo un cliente con la misma problemática y utiliza postgres, creo que es algo con esa versión de Delphi y W8.  No tengo solución al problema, pero creo que esto muestra que también se presenta con otras bases de datos.

Saludos.
  • 0

#4 maurixio5540

maurixio5540

    Member

  • Miembros
  • PipPip
  • 31 posts
  • LocationColombia

Posted 28 April 2014 - 04:30 PM

Sergio, Muchas gracias por responder, como había mencionado antes solo se presenta con esta versión en particular de W8. La base que utilizo es FDB.
  • 0

#5 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6301 posts
  • LocationArgentina

Posted 28 April 2014 - 04:46 PM

Si en un cliente en particular anda mal y en el resto anda bien, piensa más en que pasa en dicho equipo y no en tu sistema. Esa es la primera regla. ¿No crees?
Voy a preguntar algo obvio... ¿Te aseguraste de que se esté utilizando la versión correcta a la arquitectura? Dices que tienes tu aplicación funcionando en entornos de 32, y que tu cliente tiene 64. Si instalas la edición de Firebird de 32bits en un entorno de 64 es de esperarse un menor rendimiento.

Temas de lentitud también no sólo puede deberse por la extensión del fichero (que eso no es problema de Firebird, sino una vil maniobra por parte de Microsoft en agregar la extensión a la lista de archivos asociados con las copias de restauración) sino por el manejo de transacciones mal cerradas, índices mal empleados, un backup/restore corrompido, o quien sabe... hasta podría ser algo de red, e incluso hardware que se está dañando.

Lo único que veo en tu descripción de los problemas es que despierta más dudas que hallar una respuesta. La verdad es que por lo poco que nos comentas vaya a uno a saber que puede ser. Sinceramente tu planteo es muy abstracto y nada concluyente. Tu eres el diseñador del sistema, tu lo conoces.
Para que te podamos ayudar, va a ser necesario que nos des muchísima más luz. Te invito a interriorizarnos más a fin de poder emular tus condiciones, o bien, determinar que de diferente hay entre los entornos en donde te funciona bien y en donde anda mal.

Saludos,
  • 0

#6 genriquez

genriquez

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 539 posts
  • LocationCali, Colombia

Posted 28 April 2014 - 04:54 PM

Inclusive, si el servidor está remoto, el funcionamiento de la aplicación se ve comprometida con W8,  en la red, hay varios equipos con la misma versión del programa y el servidor es una máquina gigantesca.

Los clientes en Windows 7 y XP funcionan bien, pero la misma versión en W8 es lenta.  puede ser alguna incompatibilidad entre Delphi 7 Windows 2007  y W8.

Saludos.
  • 0

#7 maurixio5540

maurixio5540

    Member

  • Miembros
  • PipPip
  • 31 posts
  • LocationColombia

Posted 28 April 2014 - 06:13 PM

Gracias Delphius por tu respuesta, quizás si pase por alto algunas consideraciones, que generan dudas al respecto.

Inicialmente el cliente reporto inconvenientes del Aplicativo en una maquina que tenia instalado W8, dichos problemas era al momento de cargar algunos forms de la aplicación(algo asi como entre 10 - 15 seg). Como inicialmente no se tenía mas información, se procedió a hacer seguimiento al aplicativo mencionado con una maquina W7 y otra de W8 "WINDOWS 8.1 Pro" tanto de 32 como de 64 bits en ambos casos, y funcionaron perfecto sin ningún problema y se descarto que fueran problemas de compatibilidad o algo parecido. Dicho cliente manifestó nuevamente su problema y se procedió a solicitar las características tanto HW como SW de tal manera que se pudiera recrear el error. El HW utilizado fue el mismo en el que se realizaron las primeras pruebas lo único que se cambio fue el Sistema operativo y he ahí el problema el aplicativo si presenta problemas de rendimiento con esta versión en particular de W8.

Haciendo referencia a:
Windows 8 single language
Version 6.2 (compilacion 9200)
sistema operativo 64 bit procesador x 64

Inicialmente se evaluaron los sql que se ejecutaban al momento de cargar el formulario pero haciendo seguimiento los querys se ejecutaban en tiempo normal, pero especificamente el rendimiento se ve afectado al momento de realizar:

formulario.showmodal;

Asumo que pueda ser al momento de cargar algun componente, son simples suposiciones.

En cuanto al comentario: "Tu eres el diseñador del sistema, tu lo conoces", no simplemente le realizo mantenimiento a un sistema que ya esta realizado.

Cualquier comentario, o sugerencia al respecto, quedo totalmente agradecido.
  • 0

#8 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6301 posts
  • LocationArgentina

Posted 28 April 2014 - 08:44 PM

Bueno, que suceda cierta lentitud en una distribución y versión en particular del SO Windows 8 es algo raro... aunque viniendo de Microsoft todo debiera de esperarse... cosas de mandinga diríamos.
Si eres el desarrollador o el que efectúa el mantenimiento es lo de menos, el punto es que estás tu a cargo y debes conocer en profundidad el sistema como para determinar mucho mejor lo que está pasando.
No es mi intensión ser prepotente, ni severo... el punto es que estás tu al frente de la PC viendo el sistema y nostros lo desconocemos totalmente. Y en vista a esto nos estás pidiendo que saquemos una conclusión, lo más que podemos hacer es tirar más incógnitas que respuestas. Como decimos por aquí, si quieres sacamos nuestras bolas de cristales y empezamos.  ;)

Ahora bien, si dices que los problemas de rendimiento se presentan marcadamente en cuanto se envía el mensaje ShowModal de cualquier formulario (si es que no interpreté mal) puede deberse principalmente, como dices, a algún componente (por lo menos uno) que hace algo al momento de la visualización... pero no es necesariamente un problema de un componente, sino de alguna operatoria.
¿Que procesos se disparan o tienen lugar durante la creación y/o visualización del form?
El decir que es a causa de un ShowModal nos acerca más a por donde apuntar, refinemos mejor la puntería. ¿Que componentes visuales usas? ¿Componentes de terceros, cuáles, que versión? ¿Componentes de acceso a base de datos? ¿IBX? ¿DBExpress? ¿ADO? ¿Zeos? ¿UniDAC? Necesitaremos poner una lupa en eso. ¡Danos más detalles por favor!

Saludos,
  • 0

#9 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1092 posts
  • LocationMurcia, España

Posted 29 April 2014 - 02:39 AM

¿Tienes acceso al código de la aplicación? Sería interesante ver si en esos forms, en el OnFormShow o en el FormResize se hace algo especial, algo que pueda no ir bien en ciertas máquinas pero si en la mayoría.

Pero supongo que no puedes hacer un debug en esa maquina: instalar delphi y hacer lo que sea que va lento con el debugger activo, a ver donde pierde tanto tiempo.

Un cosa interesante a mirar: abre el administrador de tareas, abre ese from que va lento, y durante esos 10 o 15 segundos mira a ver si la CPU que consume tu aplicacion sube a tope y se va a cero.

Si sube a tope, malo por la aplicacion, si se queda a cero, malo por el SO... esto da bastantes pistas! Y si en lugar de la utilidad de windows usas proccess explorer, entonces puedes averiguar que dll o lo que sea está quedandose con tu CPU.
  • 0

#10 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6301 posts
  • LocationArgentina

Posted 29 April 2014 - 08:44 AM

El administrador de tareas de windows es una m****. Lo es en XP, y no ha cambiado en nada hasta en W7 y por tanto tengo mis reservas de que el de W8 hiciera algo bien.
Es mejor emplear Process Explorer como dice Sergio o algún otro utilitario de terceros. Al menos con PE vas a tener más info que la que puede darte el administrador por defecto.

Cualquier novedad, aquí estamos.

Saludos,
  • 0

#11 maurixio5540

maurixio5540

    Member

  • Miembros
  • PipPip
  • 31 posts
  • LocationColombia

Posted 29 April 2014 - 05:54 PM

Muchas gracias, Delphius y Sergio por su colaboración.
Estoy haciendo un debug sobre los fuentes de la aplicación y quizas donde mas se tarda es cuando trata de cargar los componentes TMS, especificamente TAdvPanel y AdvToolBtn, sin embargo contestando la pregunta de Delphius acerca de los componentes la mayoria son TMS5 y en algunos casos se cargan unos frames que utilizan los componentes estandar de la instalación de Delphi 7, con respecto a la conexion de BD, simplemente utilizo los componentes INterbase.

Ahora contestando la pregunta de Sergio acerca de OnFormShow y FormResize, no hace nada en dichos eventos.

Pensaria que el problema puede estar en los TMS, pero no tengo la version especifica de dichos componentes, por cuestiones de tiempo no tengo el dato exacto de esa versión, pero mañana a primera hora lo consultare.

Cualquier otra luz al respecto, quedare muy agradecido con uds.
  • 0

#12 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6301 posts
  • LocationArgentina

Posted 29 April 2014 - 06:21 PM

Fijate tambien en los eventos OnCreate y OnClose.
Algo a considerar en W8 es el tipo de interfaz/tema usada. Yo desconozo como es la cosa en W8 ya que no tuve oportunidad de usarlo. Si usas estilo metro las cosas son diferentes al tradicional.

no vendrá por allí la mano también?

Saludos
  • 0

#13 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2137 posts

Posted 29 April 2014 - 08:40 PM

Pensaria que el problema puede estar en los TMS.


La verdad no creo que sean los TMS, yo tengo una aplicación que usa los TMS compilada con Delphi 2006 y corre sin problemas sobre W 8.

Como sugieren los compañeros revisa bien el código de los eventos OnCreate, OnShow, OnResize y hasta OnLoaded (este último es  protegido pero a veces lo sobre-escriben con diferentes técnicas); y no solo los eventos anteriores si no también  los  procedimientos que crean y muestran el form, podrían haber otros procesos dentro del procedimiento o función que causen el problema, por ejemplo podría haber algo así:



delphi
  1. procedure CrearForm;
  2. begin
  3. CrearConexion;
  4. Conectar;
  5. AbrirConsulta;
  6. TraerDetalles;
  7. CrearForm;
  8. MostrarForm;
  9. end;



Otro punto a revisar es que de pronto hayan diferentes hilos de ejecución y sea otro hilo el que cause el retardo.

Finalmente las pruebas entre diferentes OS deberían ser exactamente iguales en cuanto a la cantidad de datos que traen las consultas (si es que se traen datos en la carga del form), ten presente que en algunos diseños los forms cargan datos de la última consulta y si esta es pesada pues retardará la carga del form.

Saludos.
  • 0

#14 maurixio5540

maurixio5540

    Member

  • Miembros
  • PipPip
  • 31 posts
  • LocationColombia

Posted 09 May 2014 - 04:45 PM

Saludos cordiales.

Amigos foreros, muchas gracias a todos por tomarse su tiempo en tratar de solucionar este inconveniente, la solución fue mas sencilla de lo esperado. En vista que solo ocurria con esta versión en particular de windows 8. La solución simplemente era ejecutar mi aplicacion como Administrador y utilizar modo de compatibilidad de windows 8, selección que no estaba activa.

Reitero nuevamente mis agradecimientos.
  • 0




IP.Board spam blocked by CleanTalk.