Forum: Software-Projekte der Mitglieder
by negaH,
16. Jan 2006
Es ist exakt das was ich vorschlug ;)
Unlösbar ist relativ zu sehen. Wichtig sind zwei Dinge:
1.) die beiden Aufrufe RDTSC + PerformanceCounter müssen exakt synchron sein, d.h.
1.)
C1 := RDTSC;
Forum: Software-Projekte der Mitglieder
by negaH,
16. Jan 2006
@Basilikum:
das was du da machst ist wieder eine Absolutmessung die ungenau sein wird. Nur diesesmal wird in der Wartschleife nicht per Sleep(x) X Millisekunden gewartet sondern eben PerformanceFrequency / 8 Takte lang gewartet.
Was passiert aber während dieser Schleife im restlichen Teil deines Rechners ? Dort laufen Interrupts, andere Processe, Kernel Task mit hohen Prioritäten ab. D.h....
Forum: Software-Projekte der Mitglieder
by negaH,
4. Jan 2006
Nein das ist nicht wirklich nötig. Es hängt nur von der verwendeten Methode der Zeitmessung ab.
Es gibt die absolute Messung und die relative Messung. Misst man zb. per einfachem Sleep(1000) so ist dies eine absolute Messung und bei dieser sollte man mit hoher Priorität messen. Nimmt man aber eine relative Messung, zb. RDTSC + PerformanceCounter dann x Millisekunden warten und dann wieder RDTSC...