Timer präzise verwenden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Denker
User
Beiträge: 12
Registriert: Montag 7. November 2011, 09:54

Hallo,

ich würde gerne ein paar Ideen einsammeln, wie ich vielleicht meinen Timer mit Ausgabe verbessern könnte.
Im Groben nutze ich aktuell einen Code, der so aussieht:

Code: Alles auswählen

import time
i=0
for i <= 60:
  i+=1
  print i
  time.sleep(1)
Je nachdem welche zusätzlichen Berechnungen ich in der Schleife durchführe wird diese immer ungenauer. Ich würde aber gerne im bereich von wenigen Sekunden Abweichung bleiben egal wie lange die Schleife läuft. Die Systemgenauigkeit meines Windows Systems reicht mir quasi aus, da ich nicht mit Echtzeit arbeite.
Nachdem ich leider noch nicht lange programmiere wäre ich für Vorschläge dankbar.

Vielen Dank,
Jens
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Das kannst du doch leicht selber berechnen. Du kennst die Startzeit deiner Schleife, du kennst die größe deiner Intervalle und du weißt, in welchem Intervall durch die befindest. Beim sleep wartest du nun einfach nur noch die Differenz von der aktuellen Zeit bis zur Zielzeit.
Das Leben ist wie ein Tennisball.
Denker
User
Beiträge: 12
Registriert: Montag 7. November 2011, 09:54

Hi EyDu,

danke für die Hilfestellung, damit habe ich es geschafft. Ich bekomm es nun mit 0.03s Genauigkeit hin.

Vielen Dank,
Jens
Antworten