Uso do processesador pelo xharbour

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Uso do processesador pelo xharbour

Mensagem por lucimauro »

Bom pessoal estou inciando meu primeiro programa e xharbour e to notando meu processado ido a mil quando to no programa, voces que estao usando nao tem sentido isso, sera que realmente nao precisamos usar uma timeslinc da vida para resolver isso. ou alguem te outra explicacao pra isso.


Desde ja agradeço.
hrodrigom
Usuário Nível 2
Usuário Nível 2
Mensagens: 63
Registrado em: 10 Nov 2007 08:04
Localização: Santa Rita - Paraguay

Re: Uso do processesador pelo xharbour

Mensagem por hrodrigom »

Qual versao do xHarbour?
Windows ou Linux?

Tome cuidado com os while
eu sempre coloco um inkey(0.1) em certos while, pois eles levam meu CPU a 100%.
____________________
Rodrigo Machado
FlaRo Sistemas
http://www.flaro.net
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Re: Uso do processesador pelo xharbour

Mensagem por vagucs »

O xHarbour trata bem isto, lembrando que nos seus While/For você qe deve controlar este consumo, atualiza a versao do xharbour para a disponivel no CVS ela tem poucas falhas do tipo conhecidas.
Sem mais
Wagner Nunes
www.vagucs.com.br
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Re: Uso do processesador pelo xharbour

Mensagem por lucimauro »

Xharbour 1.0.0 (simplex )
programando para windows.
Avatar do usuário
mhackervix
Usuário Nível 3
Usuário Nível 3
Mensagens: 105
Registrado em: 11 Fev 2008 02:06
Localização: ES

Re: Uso do processesador pelo xharbour

Mensagem por mhackervix »

Em um loop há uma tendencia de se "prender" a CPU, levando o seu consumo a 100%.

No Xbase++ (Alaska Software) basta trocar os INKEY() por INKEY(0.1) o que faz que o programa "empreste" estes decimo de segundo para o Kernel do Windows.
No xHarbour a solução acima não funciona, mas felizmente existe a função MilliSec( n ), a qual cria um atraso (delay) de n milésimos de segundos, os quais são "emprestados" para o Windows, fazendo que em um loop o consumo "marcado" de CPU caia abruptamente. um valor como 10 a 50 para n já é suficiente e não prejudica, geralmente, o desempenho da aplicação.

att.
Mhackervix, Msc.
Responder