Verfälschte Messwerte durch Windows?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

AND51 hat geschrieben:Was ich eigentlich sagen wollte: Ich würde an deiner Stelle nicht WaitWindowEvent() nehmen, sondern nur WaitWindowEvent().
man kann alternativ auch WaitWindowEvent() nehmen ;-)
a²+b²=mc²
PB42
Beiträge: 243
Registriert: 13.10.2005 03:21

Beitrag von PB42 »

WaitWindowEvent() hatte ich vor Tagen schon alternativ ausprobiert, aber das bringt auch keine Verbesserung. Es ist wirklich egal, on man da WindowEvent() hinschreibt, oder WaitWindowEvent() mit timeout-Werten, wobei ich testhalber den timeout-Wert sogar bis 500 hochgeschraubt hatte.

Edit: Ich bin müde. Falls noch Beiträge kommen, gerne, aber ich mach dann morgen weiter. :)

Gute Nacht!
Benutzeravatar
Ligatur
Beiträge: 196
Registriert: 09.07.2006 00:41

Beitrag von Ligatur »

Wenn es um Zeitdifferenzen geht ist der in nicht all zu alten Rechnern eingebaute Hardwaretimer (High resolution Performance Counter) noch besser geeignet, zuerst muß man mit QueryPerformanceFrequency_(@Freqenz.q) die Frequenz ermitteln und ob der Timer überhaupt existiert, mit QueryPerformanceCounter_(@Zeit.q) lässt sich dann die seit dem Einschalten vergangene Zeit herausbekommen, Die Tatsächliche Zeit ist dann Zeit / Frequenz.

Beispiel:

Code: Alles auswählen

If QueryPerformanceFrequency_(@Frequenz.q)
	QueryPerformanceCounter_(@Start.q)
	For i = 0 To 100000000
	
	Next i
	QueryPerformanceCounter_(@Ende.q)
	Diff.d = Ende - Start
	Debug Diff / Frequenz
EndIf
Antworten