Systemuhr wird schneller, wenn bestimmtes Programm läuft

Schüffl

Lt. Commander
Registriert
März 2004
Beiträge
1.881
Hi!

Ich hab gerade ein sehr interessantes "Feature" (!) gefunden..

Ich habe eine Software geschrieben, die bestimmte Daten mit Zeitstempel versieht und übers Netzwerk überträgt. Dazu rufe ich zyklisch die Systemzeit ab und berechne die Zykluszeit in ms. Klappt auch alles wunderbar.
Zum Testen habe ich hier einen normalen Desktop PC und einen Laptop.
Jetzt habe ich festgestellt, dass bei Programmausführung die Systemuhr des Laptops beschleunigt wird. Ich habe eben mal gemessen, dass 1 Minute (laut Windows) in Wirklichkeit nur 45 Sekunden entsprechen (Armbanduhr). Das Programm lief eben mal mehrere Minuten am Stück und schon ging die Systemuhr fast 5 Minuten vor^^
Auf dem anderen PC tritt das Problem nicht auf, einen Programmfehler kann ich eigentlich ebenso ausschließen, da es zum Einen auf dem anderen PC läuft und zum Anderen ändere ich ja nicht die Systemzeit (dürfte ich sowieso ohne Rechte nicht), sondern lese diese nur aus. Wenn die langsamer laufen würde, weil das Programm was blockiert, dann könnt ichs ja verstehen, aber dass die schneller wird.. :D

Sobald ich das Programm beende läuft dann auf dem Laptop auch die Systemuhr wieder normal..

Ich find, das ist schon nen "cooles" Feature, leider verfälscht es aber meine Restzeitprognose im Programm bei so einer ungenauen Zeitgebung..

Hat jemand ne Ahnung, wie sich das Phänomen erklären lässt?

Schöne (und schnelle!) Grüße,
Schüffl

Edit: Falls es von Interesse sein sollte: beim Laptop handelt es sich um einen Dell Latitude D620 (auf der Arbeit, daher darf ich da auch nix groß eigenhändig dran rumfummeln..)

Edit2: Hatte grad mal SpeedStep übers BIOS deaktiviert, brachte leider keine/kaum Veränderungen. War dann fest auf 1GHz getaktet, statt 15 Sekunden hatte ich dann "nur" noch ca. 12 Sekunden Zeitdifferenz..
 
Zuletzt bearbeitet:
Vielleicht teilt der Rechner die Zeit anders, etwa so: 1Minute wird in 100Sekunden unterteilt, usw. Der Gedanke kam mir, weil die Arbeitsleistung vielfach in 100 Minuten pro Stunde berechnet wird. Und damit würdest Du Deine Uhr "durcheinanderbringen".
 
wie gesagt, am Programm kanns nicht liegen, das Phänomen tritt ja nur auf dem einen Laptop auf, auf allen anderen bisher getesteten PCs läufts ohne Fehler. :)

den Quellcode kann ich hier leider auch nicht veröffentlichen, es ist ein Projekt für einen Automobilkonzern. ;)
Aber ich kann dazu sagen, dass ich zyklisch auf die Systemzeit zugreife um daraus die Zeitdifferenz zwischen zwei Nachrichten zu berechnen. Der Zugriff erfolgt übrigens über die QT-Bibliothek.

Aber wie schon gesagt, am Programm kanns eigentlich nicht liegen, sonst müsste es ja auch auf allen anderen PCs den Fehler hervorrufen.

Ich weiß, man könnte jetzt sagen, dann nutz es nicht auf genau dem einen Laptop.. aber mir gehts ums Prinzip, ich möchte nur gern wissen, wodurch das zustande kommen kann. :)

So, nu is auch gleich Feierabend, ich bin am Wochenende vermutlich viel unterwegs und kann wohl nicht unbedingt regelmäßig hier reinschaun. Aber ich versuch trotzdem gelegentlich mal zu Antworten, über weitere Ideen würde ich mich sehr freuen! :)

Edit: so, nun bin ich wieder da, würde mich über weitere Ideen sehr freuen! :)
 
Zuletzt bearbeitet:
Zurück
Oben