[c++] dokładność Timer'a

0

Witam.

Piszę program w którym wymagane jest powtarzanie pewnej operacji co interwał rzędu 10 ms.
Gdy testuję swój program (Timer ustawiony na 20 ms) rzeczywisty przedział czasowy jaki otrzymuje to około 50 ms, co nie satysfakcjonuje mnie w ogóle. Operacja wewnątrz Timera trwa na pewno mniej niż 20.

Czy jest to ograniczone rozdzielczością Timera?

A może tym że na formatce jest sporo Buttonów i innych kontrolek?

Czy Timer w osobnym wątku da mi gwarantowane 5-10 ms?

A może jakieś inne rozwiązanie niż Timer?

0
loffloff napisał(a)

Witam.

Piszę program w którym wymagane jest powtarzanie pewnej operacji co interwał rzędu 10 ms.
Gdy testuję swój program (Timer ustawiony na 20 ms) rzeczywisty przedział czasowy jaki otrzymuje to około 50 ms, co nie satysfakcjonuje mnie w ogóle. Operacja wewnątrz Timera trwa na pewno mniej niż 20.

Czy jest to ograniczone rozdzielczością Timera?

A może tym że na formatce jest sporo Buttonów i innych kontrolek?

Czy Timer w osobnym wątku da mi gwarantowane 5-10 ms?

A może jakieś inne rozwiązanie niż Timer?

Raczej inne rozwiązanie, ale w zależności do czego CI to dokładnie potrzebne:)

0

Mianowicie do kamery linjkowej. Skanuje powierzchnie linia po linii. Muszę przynajmniej te 10 ms wycisnąć.

0

Komunikaty Timera mają niski priorytet wykonania w kolejce więc system
specjalnie nie przejmuje się dokładnością,jeśli program lub system jest zajęty WM_TIMER
zostanie odsunięty od wykonania i aplikacja dostanie czkawki kiedy będzie wykonywać
wstrzymane komunikaty timera .

Do dokładnego odmierzania czasu mogą służyć funkcje obsługujące
multimedia - szukaj w Microsoft Multimedia Programmer's Reference.

np.
http://4programmers.net/Forum/viewtopic.php?id=148620

1 użytkowników online, w tym zalogowanych: 0, gości: 1