Einzelnen Beitrag anzeigen

Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#1

QueryPerformanceCounter - Probleme, Zeitversatz

  Alt 17. Jul 2011, 19:29
Hab heute mal wieder mein altes Proggie zum lesen von IF-Fernbedienungen rausgekramt, weil es da wieder was zu tun gibt.
Ist so was ähnliches wie WinLIRC - nur finde ich, dass es mir besser gelungen ist ...

Vor gut 2 Jahren lief das noch einwadnfrei - u.a. Als FB-Empfänger auf meinem alten HTPC.
Heute nur Stress, liefert überwiegend wirres Zeugs bei den Signal-Timings - sogar negative Werte !
Noch verrückter ist, dass es Sprünge/Versätze von gut 4-7 mS (in meinem Fall eine 'Ewigkeit') gibt.

Lange Rede, kurzer Sinn - ich bin dank DP [eeeendlich] drauf gekommen !
Irgendwo hatte ich gelesen, das QueryPerformanceCounter Probleme macht mit MultiCore-CPU.
Ein kurzer Klick im Taskmanager und schon ist Ruhe im Karton mit nur einer CPU !

Man kann das recht schön beobachten, wie mal für ein paar Signale CPU-1 verwendet wird und dann wieder CPU-2.
Besagt Unterschied von ca. 4-7 mS muss wohl Zeitdifferenz zwischen den beiden CPU's liegen.
Verstehen zue ich das nicht wirklich, weil der Apparat hier eigentlich die ganze Zeit schläft und AUslastung gegen 0 geht.

Frage(n):
Wie kann das ? Ich hatte damals beim proggen auch schon die gleiche Maschine und da fiel das nicht auf.
Delphi 7 (ja ich weiß - Steinzeit. Für mich reichts alle male...) ist auch noch das gleiche.

Gibt's da irgendeinen Patch, ne andere Lösung ?
Falls nicht, wie kann ich dem Proggie sagen, das es nur 1 CPU nutzen soll ?

Wäre dankbar für einige Tipps.
  Mit Zitat antworten Zitat