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.
Uso do processesador pelo xharbour
Moderador: Moderadores
-
hrodrigom
- 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
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%.
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
Rodrigo Machado
FlaRo Sistemas
http://www.flaro.net
- vagucs
- Membro Master

- Mensagens: 1480
- Registrado em: 10 Jul 2004 10:45
- Localização: Ipanema - MG
- Contato:
Re: Uso do processesador pelo xharbour
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.
- mhackervix
- Usuário Nível 3

- Mensagens: 105
- Registrado em: 11 Fev 2008 02:06
- Localização: ES
Re: Uso do processesador pelo xharbour
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.
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.