Autor Beitrag
Maxman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Di 23.07.02 12:31 
Hallo!

Ich hab mal ne Frage zur Timer Komponente!
Es ist ja möglich, das Interval einer Timer Komponente auf 1000 zu setzen. Das bedeutet dann, dass die Timer Procedur jede Sekunde wiederholt wird. Und nun meine Frage: Kann es sein, dass bei einem älteren Computer eine Zeitverzögerung stattfindet (->langsamerer Prozessor) oder findet die Procedur trotzdem genau jede Sekunde statt? :?:

Danke im Voraus!
Maxman
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Di 23.07.02 12:35 
Also auf meinen alten Rechner (120Mhz) kann ich das Interval zwar auf 1 stellen, aber das packt er nicht. Genaueres kann ich dir allerdings nicht sagen. Es liegt meiner Meinung nach, an der Bearbeitungsgeschwindigkeit des Betriebssystems.

_________________
Viele Grüße
Jakob
wwerner
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 185



BeitragVerfasst: Di 23.07.02 13:04 
Windows ist KEIN Echtzeitbetriebssystem! Daher ist der Timer nicht genau. Er kann auch zu früh kommen!

_________________
Gruß

Wolfgang

----------
zu hause ist es doch am schönsten
b.brecht
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81



BeitragVerfasst: Di 23.07.02 14:12 
Der Timer ist "wwerner" sagt sehr ungenau, also ich würde mich darauf nicht 100%ig verlassen. Am besten selber einen programmieren ;-)
wwerner
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 185



BeitragVerfasst: Di 23.07.02 14:18 
Ich habe nicht geschrieben das er sehr ungenau ist, sondern das es keinen exakten timer geben kann, weil das windows vom Prinzip her nicht unterstützt. Es kommt darauf an, was ich mit dem Timer machen will. Für einen Fortschrittsbalken o. Ä. ist er immer gut genug

_________________
Gruß

Wolfgang

----------
zu hause ist es doch am schönsten
Maxman Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Do 25.07.02 22:09 
Titel: danke
Danke für eure Hilfen!

Eure Antworten leuchten mir ein. Mein Ziel ist es, einen Internetcounter zu programmieren. Dazu brächte ich einen zuverlässigen Timer. Ein Freund hat mir den Tip gegeben, die anfängliche Systemzeit von der aktuellen zu subtrahieren und diese Procedur jede "Timer-Sekunde" periodisch durchzuführen. Leider bin ich ein Neuling auf dem Gebiet der Komponentenerstellung, es wäre aber sehr nett, wenn ihr mir dabei helfen könntet!

Nochmals Danke!
Maxman
b.brecht
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81



BeitragVerfasst: Fr 26.07.02 00:56 
@wwerner

Natürlich ist das alles relativ zu sehen, aber wenn man wirklich sehr exaktes machen will ist es halt nicht sehr genau..
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Fr 26.07.02 01:58 
Hmm, also es gibt schon sehr exakte Timer, habe mal einen beim Benchmark-Prog gesehen. Der war exakt.
Die Abweichung der Timer-Komponente liegt meiner Ansicht daran, dass sie vom Programm errechnet wird. Hängt sich Windows für ein paar Millisekunden auf oder belastet den PC so stark, dass das passiert, so kommt das zur Verzögerung.

Habe selbst mal einen Coutdown-Ticker geprogt. Auf lange Sicht ist der Timer schon beträchtlich ungenau.

Alternativen fallen mir gerade keine ein. :cry:
Aber es gibt sie. Such doch einfach in einem Komponentenarchiv.
wwerner
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 185



BeitragVerfasst: Fr 26.07.02 06:52 
Ein Benchmarkprogramm arbeitet nicht mit einen Timer. Da wird die Startzeit gespeichert und die Endzeit und dann die diff. gebildet. Und das ist sehr genau.
//Beim start:
startzeit := GetTickCount()

Im Timerereignis:
VerstricheneZeit := GetTickCount()-Startzeit;

_________________
Gruß

Wolfgang

----------
zu hause ist es doch am schönsten


Zuletzt bearbeitet von wwerner am Fr 26.07.02 12:49, insgesamt 1-mal bearbeitet
hitstec
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 295



BeitragVerfasst: Fr 26.07.02 12:12 
@wwerner: das ist ein Timer :shock:
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Fr 26.07.02 12:31 
Zitat:
@wwerner: das ist ein Timer :shock:


Wieso sollte das ein Timer sein? :?:

_________________
Viele Grüße
Jakob