Szerző Téma: Pontatlan a GetTickCount  (Megtekintve 1193 alkalommal)

Pontatlan a GetTickCount
« Dátum: 2012. október 22. - 12:00:12 »
0 Show voters
Sziasztok.
Szükségem lenne egy olyan módszerre amivel ezredmásodperces pontossággal lehet eltelt idõt mérni. Próbáltam a GetTickCountot, azonban ha annak eredményeit összehasonlítod egy 1000 ms re beállított timerrel jelentõs különbségeket lehet tapasztalni.
Bal oldalt a timer állása, jobb oldalt a GetTickCount értéke.
1000 = 1119
2000 = 2251
3000 = 3377
4000 = 4504
5000 = 5629
6000 = 6760
7000 = 7882
8000 = 9001
9000 = 10124
10000 = 11249
A legnagyobb gond hogy az eltérés sem állandó mértékû így nem tudom azt csinálni hogy egy bizonyos számmal megszorozva megkapom a helyes értéket itt egy másik példa:
1000 = 1131
2000 = 2252
3000 = 3372
4000 = 4499
5000 = 5612
6000 = 6738
7000 = 7859
8000 = 8975
9000 = 10092
10000 = 11213
Amiért lényeges lenne ez a nagy pontosságú idõmérés, mert egy bizonyos feladatnál kétféleképpen szeretném mérni az idõt.
Egyszer másodpercenként lefutna egy timer ami növelne egy változót, ez az amit a játékosok látnának egy textdraw formájában, viszont amikor az eseménysorok végéreérünk fontos lenne, hogy ezredmásodperc pontosságban tudjuk az eredményt ennek céljára csináltam a szokásos GetTickCount az elején utánna kivonjuk az akkori GetTickCount ot az elején mértbõl. Esetleg egyéb ötlete valakinek van e hogy ez megoldható legyen?

Pontatlan a GetTickCount
« Válasz #1 Dátum: 2012. október 22. - 12:50:12 »
0 Show voters
Nem lehet, hogy a timer a lassú?

Pontatlan a GetTickCount
« Válasz #2 Dátum: 2012. október 22. - 12:56:12 »
0 Show voters
A lényegen nem változtat. Nincsenek szinkronizálva és ez a baj.

Pontatlan a GetTickCount
« Válasz #3 Dátum: 2012. október 22. - 14:11:59 »
0 Show voters
Akkor gettickcount helyett egy 1 ms idejû timer, ahol növeled egy változó értékét?

Pontatlan a GetTickCount
« Válasz #4 Dátum: 2012. október 22. - 15:21:55 »
0 Show voters
próbáltam olyan szinten pontatlan hogy nagyondurva 1mp alatt 200at növel az értékén kb

Nem elérhető divkn

  • 3259
    • Profil megtekintése
Pontatlan a GetTickCount
« Válasz #5 Dátum: 2012. október 22. - 15:23:50 »
0 Show voters

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Pontatlan a GetTickCount
« Válasz #6 Dátum: 2012. október 22. - 15:48:56 »
0 Show voters
Az idõmérésed a rossz, a GetTickCount pontosan mér, a Timer pedig késik bizonyos ms-eket (akár több másodpercet is). Amit te jobb oldalt látsz (GetTickCount) az szinte azt mérte, mikor hívódott meg az idõzítõd. Tehát vegyük az elsõ timert 1000 - 1119, akkor ez azt jelenti, hogy a Timer 119ms-t késett.
« Utoljára szerkesztve: 2012. október 22. - 15:52:53 írta DrAkE »

Pontatlan a GetTickCount
« Válasz #7 Dátum: 2012. október 22. - 16:59:01 »
0 Show voters
Értem. De akkor végülis Erre nagyon nincs jó megoldás. Esetleg hogy egy rövididöközönként mondjuk 100ms enként lefuto timerrel a StartTickCount - GetTickCount()/1000 re beállitom a textdrawot köszönöm mindenkinek a témát nyitva hagyom ha esetleg valakinek van jobb ötlete

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal