CPU al 100%

CPU al 100%

Postby Andrés González » Wed Jan 31, 2007 7:48 am

Antonio, a que puede ser debido que cuando consulto el rendimiento tanto los programas compilados con harbour y fwh25 y los antiguos hechos con versiones mas antiguas de fw20 y clipper me de que el uso de la CPU este al 100% y no baja, osea se mantiene durante todo el uso del programa. No es que funcionen mal puesto que los programas responden rapidamente y funcionan a las mil maravillas, pero parece que en algunos ordenadores los mas antiguos su rendimiento no parece ser optimo. Seguro que es algo que puedo estar haciendo mal, pero no se me ocurre por donde empezar para mirar el problema, si es que es un problema de los programas. Se presenta el problema tanto en win2000 como en xp.

Saludos
User avatar
Andrés González
 
Posts: 628
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Postby Antonio Linares » Wed Jan 31, 2007 8:46 am

Andrés,

Con Clipper sería algo más normal, ya que se usa la capa de wow (windows on windows) para ejecutar 16 bits en 32 bits.

Con Harbour no debería ocurrir. Usas algún bucle principal desde donde llames a SysRefresh() ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41945
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Andrés González » Wed Jan 31, 2007 12:35 pm

Antonio me he dado cuenta que eso solo le pasa cuando gestiono la base de datos el tcbrowse lo paro con un:
Code: Select all  Expand view
    ACTIVATE WINDOW oWndEdit MAXIMIZED ;
                    ON RESIZE oSpl:AdjRight();
                    VALID ( lExit:= .T. , .T. )


   //? "si no sale otro mensaje me paro antes del syswait"
   DO WHILE !lExit //Esto para la pantalla para que no siga y cierre la base de datos
      SysWait(.1)
   ENDDO
   //clos_base


Puede ser esto lo que me produzca los problemas de consumo de cpu, mientras esta en modo presentacion con el menu y el bmp de inicio no hace ese fallo solo cuando ataco la base de datos
User avatar
Andrés González
 
Posts: 628
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Postby Antonio Linares » Wed Jan 31, 2007 12:57 pm

Andrés,

La ventana oWndEdit es una ventana MDI child ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41945
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Andrés González » Wed Jan 31, 2007 2:05 pm

Sí, depende de la principal.

Code: Select all  Expand view
   DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 0,-8
   DEFINE WINDOW oWndEdit MDICHILD OF oWnd  TITLE x_tit //Ventana child de la principal oWnd      FROM 2, 2 TO 20, 50

   DEFINE BUTTONBAR oBar SIZE 50,40 _3d OF oWndEdit

User avatar
Andrés González
 
Posts: 628
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Postby Antonio Linares » Wed Jan 31, 2007 7:51 pm

Andrés,

Este código no es necesario en absoluto:
Code: Select all  Expand view
DO WHILE ! lExit
   SysWait(.1)
ENDDO

una ventana MDI child es siempre no modal. Dices que se cierra la base de datos, y es normal, puesto que has de cerrar la base de datos cuando se cierre la ventana y no antes:
ACTIVATE WINDOW oWndEdit VALID (DbCloseArea(), .t.)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41945
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Andrés González » Thu Feb 01, 2007 8:10 am

Indudablemente este es el motivo, cuando quito el syswait el consumo del procesador oscila entre los 40% y el 85% pero no se posiciona como antes al 100%. El problema es que es heredado de la programcion del antiguo clipper y de esta manera me evitaba modelar mucho codigo. Voy a ver como lo soluciono.

Gracias Antonio
User avatar
Andrés González
 
Posts: 628
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 87 guests