Wrap around

19/09/2013 - 11:16 von Hans-Peter Diettrich | Report spam
Problem: Eine Funktion (GetTickCount) soll eigentlich monoton steigende
Werte liefern, fàngt aber immer wieder mal bei Null an. Das macht vor
allem Ärger bei der Berechnung von (Zeit-)Differenzen.

Gibt es einen einfachen Kniff, wie man so einen Wraparound rechnerisch
berücksichtigen kann?

TIA
DoDi
 

Lesen sie die antworten

#1 Sam Sung
19/09/2013 - 12:51 | Warnen spam
Hans-Peter Diettrich schrieb:

Problem: Eine Funktion (GetTickCount) soll eigentlich monoton steigende
Werte liefern, fàngt aber immer wieder mal bei Null an. Das macht vor
allem Ärger bei der Berechnung von (Zeit-)Differenzen.

Gibt es einen einfachen Kniff, wie man so einen Wraparound rechnerisch
berücksichtigen kann?



Auf völlig plattform- und sprachunabhàngige Weise kann man einfach den
letzten Wert zwischenspeichert, was aber nicht exakt ist.

Falls du die Funktion aus dem alten Windows32-API meinst,
DWORD WINAPI GetTickCount(void); so steht hier etwas:
http://msdn.microsoft.com/en-us/lib...p/ms724408(v=vs.85).aspx
"...
If you need a higher resolution timer, use a multimedia timer
or a high-resolution timer.

To obtain the time elapsed since the computer was started, retrieve
the System Up Time counter in the performance data in the registry key
HKEY_PERFORMANCE_DATA. The value returned is an 8-byte value. For more
information, see Performance Counters.

To obtain the time the system has spent in the working state since
it was started, use the QueryUnbiasedInterruptTime function.

Note...
"

Ähnliche fragen