CPU 100% com o HARBOUR
Moderador: Moderadores
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
CPU 100% com o HARBOUR
Acho que o inkey() sem parametro, também iria ajudar. E eu experimentaria fazê-lo da mesma forma que a exibição do progress bar, cada 50, 100, 1000 (como tinha indicado acima).
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Re: CPU 100% com o HARBOUR
Inkey() não se destina exatamente a produzir delay. O mais apropriado é Millisec(), que é parte da biblioteca do [x]Harbour, aliás.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Re: CPU 100% com o HARBOUR
Com o inkey(.01) rodou um pouco melhor, mas ainda não atende a necessidade, pois a qtd de numeros que geralmente preciso é 1 milhão, por isso fica muito lento.
Mais baixo q isso, ex: inkey(0.001) o programa não roda...
Somente com o inkey() o processamento fica a 100%.
Millisec() também não compilou.
A versão que estou usando é Harbour MiniGUI IDE (c) 2004-2007 - Versão 2.0.031a
gtProcessMessages() - não compila (undefined reference to 'HB_FUN_GTPROCESSMESSAGES')
NextKey() - idem inkey(), não muda o processamento.
Em todos os testes a tela do programa "congela"....
Mais baixo q isso, ex: inkey(0.001) o programa não roda...
Somente com o inkey() o processamento fica a 100%.
Millisec() também não compilou.
A versão que estou usando é Harbour MiniGUI IDE (c) 2004-2007 - Versão 2.0.031a
gtProcessMessages() - não compila (undefined reference to 'HB_FUN_GTPROCESSMESSAGES')
NextKey() - idem inkey(), não muda o processamento.
Em todos os testes a tela do programa "congela"....
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: CPU 100% com o HARBOUR
Essa versão ai deve ser da Minigui e não do Harbour, atualize seu Harbour para a versão mais atual e use:
#include "hbcompat.ch"
gtProcessMessages()
#include "hbcompat.ch"
gtProcessMessages()
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Re: CPU 100% com o HARBOUR
Melhor usar o Harbour com MT.
Faz isso sem carregar o processador, essa sua rotina deve está lendo um número muito grande registros.
Veja:
Se não precisar de MT tente o hb_releaseCPU() ou hb_idleSleep(0.2) dentro do "Do While" ou "For Next"
Saudações,
Itamar M. Lins Jr.
Faz isso sem carregar o processador, essa sua rotina deve está lendo um número muito grande registros.
Veja:
Código: Selecionar todos
FunctionMain
nH1:=hb_idleAdd( {||MynhaFuncaoA()})
nH2:=hb_idleAdd( {||MynhaFuncaoB()})
.....
? HB_IDLESTATE(nH1)
? HB_IDLESTATE(nH2)
HB_IDLEDEL( nH1 )
HB_IDLEDEL( nH2 )
return
Function MinhaFuncaoA
Do While !eof() //clientes
dbskip()
hb_idleSleep(0.2) // pode ser também hb_releaseCPU()
EndDo
Function MinhaFuncaoB //receber
Do While !eof()
dbskip()
hb_idleSleep(0.2) // pode ser também hb_releaseCPU()
EndDo
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.

