Página 1 de 1
Sobre a relação mouse/consumo de CPU em sistema Gaspro
Enviado: 20 Nov 2015 11:55
por prmuller
Amigos, bom dia!
Sobre o assunto, acompanhei alguns tópicos aqui no fórum, mas, sinceramente, não cheguei a uma conclusão objetiva.
Caso alguém tenha solucionado o problema, poderia, por gentileza postar quais são as alterações necessárias a se fazer?
Grato,
Paulo Müller
Sobre a relação mouse/consumo de CPU em sistema Gaspro
Enviado: 20 Nov 2015 14:08
por Jairo Maia
Olá Paulo,
Se seu sistema GASPro é multiusuário e está com o tempo de refresh ativado (maior que zero), coloque estas linhas no final da função MouseGet() (antes do Return), e veja se funciona:
Código: Selecionar todos
If !brw
SecondsSleep()
ElseIf tempo + .1 < Seconds()
SecondsSleep()
EndIf
Nota: Caso seu sistema não esteja com tempo de refresh ativo, ao acessar as consultas usará 100% do processador. Se você ativar a função SecondsSleep() de modo geral, nas consultas sem o controle de tempo, na rolagem os dados somem da tela até estabilizar, ou seja, até encerrar a rolagem.
Sobre a relação mouse/consumo de CPU em sistema Gaspro
Enviado: 20 Nov 2015 15:32
por prmuller
Oi Jairo,
Obrigado pela dica.
Realmente, acrescentando as linhas, o uso da CPU volta ao normal (0 ou proximo), porém, quando clico em consulta o sistema cai. Em inclusão ou manutenção, fica normal.
O tempo da tela fica no padrão do Gaspro sempre (20/25 segundos). Será que tem a ver com isso essa queda nas consultas?
Sds,
Paulo Müller
Sobre a relação mouse/consumo de CPU em sistema Gaspro
Enviado: 20 Nov 2015 16:06
por Jairo Maia
Olá Paulo,
É que faltou informar para você declarar a variável tempo. Faça o seguinte:
1 - Na função BRWFUNC(), declare como Privada a variável
tempo (ou troque para o nome que melhor lhe desejar, e ajuste também a MouseGet() ). No início da BRWFUNC() declare dessa forma:
2 - Procure na BRWFUNC() as duas sequências identicas a essa:
Código: Selecionar todos
#ifdef COM_REDE
tecl_p=IN_KEY(drvtempo) // espera tecla ser digitada
#else
tecl_p=IN_KEY(0) // espera tecla ser digitada
#endi
3 - Acrescente o controle de tempo ficando da seguinte forma:
Código: Selecionar todos
#ifdef COM_REDE
tecl_p=IN_KEY(drvtempo) // espera tecla ser digitada
#else
tecl_p=IN_KEY(0) // espera tecla ser digitada
#endi
tempo := Seconds() // <- acrescente esta linha
Veja, apenas acrescente após o último #endi dessa sequência a linha:
tempo := Seconds(). Espero ter sido claro, se sim, faça isso e acho que então vai funcionar.
Nota: Uma correção:
diferente do que citei acima que precisa ser multiusuário, isso funciona também nos sistemas GASPro monousuário.
Sobre a relação mouse/consumo de CPU em sistema Gaspro
Enviado: 20 Nov 2015 18:25
por prmuller
Grande Jairo,
Na mosca, funcionando perfeitamente agora o mouse (no menú vertical).
Acho que este foi o último ajuste a ser feito, já que vou deixar em modo console mesmo rodando em janela.
Muito obrigado pela ajuda e pela aula!
Sds,
Paulo Müller