Fórum Desempnho lento em looping #320210
28/04/2006
0
Olá amigos, tudo bem con vcs?...espero sim
eu estou com uma dúvida q é a seguinte....eu tenho um programa que envia arquvos txt para um ftp...e durante a criação desse arq txt...ou seja antes de efetuar qualquer trabalho via internet...percebi q o desempenho do programa caia muito...não só do programa como do micro em si...fiz as mudanças possíveis no código para q ele pudesse ter um desempeho melhor...mas nao adiantou muito...depois d ´fuçar´ muito fiz um programa teste bem básico com o seguinte código
executei o programa e abri o gerenciador de tarefas...e na aba desempenho no indicador de uso de cpu verifiquei q estava 100¬....sendo q o procedimento acima é extremamente simples...alguém sabe pq isso acontece e se existe alguma forma pra q possa melhorar esse desempenho de cpu?....uso delphi 2005 e meu micro é um pentium 4
3.0 GHz com 512 de memória
desde já gradeço atenção
eu estou com uma dúvida q é a seguinte....eu tenho um programa que envia arquvos txt para um ftp...e durante a criação desse arq txt...ou seja antes de efetuar qualquer trabalho via internet...percebi q o desempenho do programa caia muito...não só do programa como do micro em si...fiz as mudanças possíveis no código para q ele pudesse ter um desempeho melhor...mas nao adiantou muito...depois d ´fuçar´ muito fiz um programa teste bem básico com o seguinte código
procedure TForm1.Button1Click(Sender: TObject); var i : integer; begin form1.Caption:=´´; i:=0; while i < 50000 do begin application.ProcessMessages; form1.Caption:=inttostr(i); Inc(i) end; end;
executei o programa e abri o gerenciador de tarefas...e na aba desempenho no indicador de uso de cpu verifiquei q estava 100¬....sendo q o procedimento acima é extremamente simples...alguém sabe pq isso acontece e se existe alguma forma pra q possa melhorar esse desempenho de cpu?....uso delphi 2005 e meu micro é um pentium 4
3.0 GHz com 512 de memória
desde já gradeço atenção
Lucianoiron
Curtir tópico
+ 0
Responder
Posts
29/04/2006
Aerreira
Seu processo leva aqui na minha máquina quase 1 minuto com 100¬ de CPU.
Se trocar o form1.caption por um label1.caption o tempo cai para 15 segundos também com 100¬ de CPU.
Se retirar o application.ProcessMessages cai para 2 segundos e não chega a afetar quase nada o uso da CPU, mas não mostra o andamento do processo.
Se trocar o label1.caption por um progressbar.position vai conseguir os mesmos 2 segundos, conseguindo ver o andamento do processo.
Conclusão: mude a forma como mostra seu processamento para um progressbar e terá um resultado muito melhor.
Se trocar o form1.caption por um label1.caption o tempo cai para 15 segundos também com 100¬ de CPU.
Se retirar o application.ProcessMessages cai para 2 segundos e não chega a afetar quase nada o uso da CPU, mas não mostra o andamento do processo.
Se trocar o label1.caption por um progressbar.position vai conseguir os mesmos 2 segundos, conseguindo ver o andamento do processo.
Conclusão: mude a forma como mostra seu processamento para um progressbar e terá um resultado muito melhor.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)