Fórum O programa vai ficando mais lento #282166

18/05/2005

0

Pessoal, tenho um programa que conta pçs que passa
embaixo de um sensor. Cada vez que passa incrementa mais
um em um edit e faz algumas contas. O problema é que cada vez
vai ficando mais lento a captura do sinal do sensor. Se fecho o
programa e executo novamente, ele fica normal de inicio, e depois
de umas doze horas + ou - ja esta bem lento novamente. Chega
a travar o mouse, o programa. Ja ouvi falar em liberar + memoria
não sei se é por ai. E se for como se faz isso?

Abraços
juarezber@terra.com.br


Juarezber

Juarezber

Responder

Posts

19/05/2005

Sremulador

você utiliza muitos forms, variaveis... ???


Responder

Gostei + 0

19/05/2005

Juarezber

Caro Sremulador,
Somente dois forms abertos e dois de relatorios, quando precisa abri lo.
1 - Umas trita variaveis cada form:
2 - Cinco Timers cada form;
3 - Trinta itens atualizando em dois arquivos INI, minuto em minuto;
4 - Salvamento em duas tabelas em oito horas, com 20 campos numericos e um Alfa cada;
5 - Execução de calculos do sensor a cada pç, mais ou menos 90 vezes
a cada minuto em cada form;
6 - Fica conectado via serial 24:00 h contando pçs.

Abraços
juarezber@terra.com.br


Responder

Gostei + 0

19/05/2005

Renatosilva

Tu deve ta criando objeto e esquecendo de destruir. Posta o código.


Responder

Gostei + 0

19/05/2005

Rookie

Existem vários motivos para isso acontecer, vc não explicou em detalhes, mas se ,por exemplo, vc estiver usando dbexpress e não estiver dando Applyupdates regularmente isto pode causar uma lentidão no seu programa.


Responder

Gostei + 0

20/05/2005

Juarezber

Rookie, podeira explicar melhor por favor!

Abraços
Juarezber


Responder

Gostei + 0

20/05/2005

Sremulador

talvez a cada determinado tempo você poderia esvaziar a memória do formulário, tente dar um release no form quem sabe funcione...


Responder

Gostei + 0

21/05/2005

Juarezber

Como assim...

Abraços
juarezber


Responder

Gostei + 0

23/05/2005

Renatosilva

Cara posta o código, eu continuo achando possível que tu cria objetos e não destrói. Eu já tive esse problema: o consumo de RAM vai crescendo, crescendo e era esse o motivo.


Responder

Gostei + 0

23/05/2005

Emerson Nascimento

também pode ser os timer´s ´encavalando´ processos.

ao inciar um timer, desative-o e ative novamente depois de terminar o processo.

algo como:
procedure TForm1.Timer1OnTimer(Sender: TObject);
begin
  // desativa o timer para evitar que os processos ´encavalem´
  // caso o tempo de processamento seja maior que o tempo do timer
  Timer1.Enabled := False;

  {aqui acontece o processo}

  // ativa novamente o timer
  Timer1.Enabled := True;
end;



Responder

Gostei + 0

23/05/2005

Luizf2

Juarez,

O tamanho do programa na memória está aumentando, ou é só a velocidade de processamento que diminui?

Luiz Fernando


Responder

Gostei + 0

23/05/2005

Juarezber

Luiz, é o processamento que vai ficando mais lento.

Abraços
Juarezber


Responder

Gostei + 0

23/05/2005

Juarezber

Renato, desculpe a minha iguinorancia, mas eu não sei o que é
postar o codigo, que tu falas. Pode me dar um toque?

Abraços
Juarezber


Responder

Gostei + 0

23/05/2005

Rjun

Ele quer que você coloque o trecho do código onde você cria os compontes e onde você os destroi.


Responder

Gostei + 0

23/05/2005

Renatosilva

Postar o codigo eh colocar aqui o seu codigo pra gente analisar, como o Rjun falou.

Tem certeza que o consumo de memória não aumenta? Se é o processamento apenas que fica mais lento, reforço o pedido: posta o código :)


Responder

Gostei + 0

23/05/2005

Luizf2

Juarez,

Já ficou claro que o programa fica mais lento com o passar do tempo, mas é importante saber se ele tem este comportamento em função do aumento de memória.

A lentidão pode ser conseqüência do aumento de memória.

Rode o programa, vá para o Task Manager (Gerenciador de Tarefas), na aba de Processes (Processos), localize o seu processo pelo nome e fique observando se ele vai aumentando de memória, ou se é só consumo de processamento.

Luiz Fernando


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar