micro segundo no delphi

Delphi

12/09/2006

Alguem sabe como obter uma espera de micro segundo ou menor no delphi, pois o Sleep() do Windows só opera a partir de 1 milisegundo, inviabilizando algumas aplicações em q é necessário um tempo menor de resposta.
Sei q no linux o sleep opera em micro segundos.


Xandyr

Xandyr

Curtidas 0

Respostas

Night_man

Night_man

12/09/2006

1 milisegundo jah eh um tempo extremamente pequeno, eh 1 segundo dividido em mil partes.... o proprio windows trabalha com esse tempo


GOSTEI 0
Siam

Siam

12/09/2006

Se alguém já obteve um intervalo de tempo de 1 ms no Delphi, gostaria de saber como foi a mágica.


GOSTEI 0
Night_man

Night_man

12/09/2006

sempre q tentei pegar tempos, ou era 15 milisegundos ou 0.... nada entre isso...


GOSTEI 0
Siam

Siam

12/09/2006

Para mim também o mínimo foi de 15ms


GOSTEI 0
Massuda

Massuda

12/09/2006

O timer normal do Window é sujeito a oscilações ao redor de 50ms.

Para ter um timer mais confiável no Windows para trabalhar na faixa dos milissegundos, você teria que usar um timer multimídia. Infelizmente, nunca tive que usar esse tipo de coisa; procure no Torry por timers multimidia ([i:c5173c8551]multimedia timer[/i:c5173c8551]). Usando o Google encontrei [url=http://www.rpi.edu/~pudeyo/articles/better_timer.html]este artigo[/url] que apresenta uma implementação em C e tem código em Delphi (não testei).

NOTA: não sei dizer se um timer multimídia tem resolução da ordem de microssegundos.

Se você quiser medir tempos da ordem de microsegundos (não é um timer), dê uma olhada [url=http://delphiforfun.org/Programs/Delphi_Techniques/timing.htm]neste artigo[/url] (em inglês) que mostra como usar as funções QueryPerformanceCounter e QueryPerformanceFrequency.


GOSTEI 0
POSTAR