Ungenauer Timer?

Plattformunabhängige GUIs mit wxWidgets.
JulesV
User
Beiträge: 16
Registriert: Sonntag 2. April 2006, 02:21

gerold hat geschrieben:Vielleicht hat es schon genügt, ein kleines "sleep(0.02)" einzubauen.
Leider nicht. Im Gegenteil, er reagiert sogar noch extremer. Er sowohl der Timer (die Zeitanzeige oben links) als auch die Animation springen ca. im Sekundentakt (etwas weniger als eine Sekunde) weiter. Das ist jetzt also wirklich eine Diashow. Und dazu kommt, dass es auch insgesamt länger braucht. Also bei einer Strecke und Geschwindigkeit die innerhalb von 6 Sekunden abgefahren sein müssten, braucht er mal 8,5 oder 8,6 Sekunden... ist nicht konstant. Sehr komisch irgendwie.
An der CPU-Last liegt es wohl nicht, er verbraucht nur 60-70%.

Ich habe nun auchnochmal die vorherige Version genauer untersucht. Auch da schien es doch nicht an der CPU-Last zu liegen, da es auch nur 80% waren. Entschuldige bitte die Fehldiagnose.
Hast du noch weitere Ideen?
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

Könntest evtl deinen "eigenen" timer basteln

http://python.active-venture.com/lib/timer-objects.html

erstellst einen Thread, in welchem der Timer läuft. Dieser sendet jede Sekunde an den Hauptthread ein Signal (wx.PyEvent). Der Hauptthread wurschtelt dan irgend was damit. Und schlussendlich kannst du den Timer + Thread killen
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

JulesV hat geschrieben:er reagiert sogar noch extremer.
Hi Jules!

Keine Ahnung! :K

mfg
Gerold
:roll:
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

JulesV hat geschrieben:er reagiert sogar noch extremer. Er sowohl der Timer (die Zeitanzeige oben links) als auch die Animation springen ca. im Sekundentakt (etwas weniger als eine Sekunde) weiter.
Hi JulesV!

Anscheinend arbeitet time.clock() nur unter Windows so wie von mir gewünscht. Siehe http://www.python-forum.de/topic-6775.html

Wenn du also time.clock() für den Mac durch eine andere Timer-Funktion austauscht, dann müsste es funktionieren.

lg
Gerold
:-)

PS: Wie ist's gelaufen? Waren die vier Jahre "umsonst"? ;-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
JulesV
User
Beiträge: 16
Registriert: Sonntag 2. April 2006, 02:21

gerold hat geschrieben:Wenn du also time.clock() für den Mac durch eine andere Timer-Funktion austauscht, dann müsste es funktionieren.
Danke für den Tip. So funktioniert es wirklich etwas besser. Zumindest ist er jetzt wirklich nach der korrekten Zeit am Ziel - nur die Animation "ruckelt" unter OS X trotzdem gnadenlos. Zuckelt mit etwas unter einer Aktualisierung pro Sekunde dahin. Naja. Am wichtigsten ist *erstmal* die Lauffähigkeit unter Windows. Unter Linux teste ich es heute Abend mal...
gerold hat geschrieben:PS: Wie ist's gelaufen? Waren die vier Jahre "umsonst"? ;-)
Am 10.8 ist die Abgabe... (allerdings muss ich bis dahin auch für 6 Klausuren lernen und habe keine Zeit mehr mich noch wirklich um das Programm zu kümmern. Aber ich betrachte es auch inzwischen als so gut wie fertig. (So gut wie fertig, weil eben noch keine 100%ige Plattformunabhägigkeit besteht und ich noch mit dem Prof. sprechen muss wie er gerne Dargestellt hätte dass man lieber bremsen sollte.)
Ich sage dann bescheid wenn ich das Ergebnis weiß :-). Bin aber was das Programm angeht sehr optimistisch, dank dir/euch! Vielen vielen Dank nochmal!

Stefan
Antworten