Thema: Delphi OnIdle oder doch Timer?

Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6
  Alt 15. Mai 2003, 06:45
Schon mal an einen separaten Thread gedacht den du mit sleep() für eine bestimmte Zeit einfach "schlafen" schickst?

@tommie-lie:
Zitat:
Wenn du auf extreme Gleichförmigkeit angewiesen bist, beispielsweise um eine AVI-Datei mit 25fps zu schreiben, ist ein Timer (und zwar ein asynchroner, was der Delphi-Timer glücklicherweise ist) sinnvoller, denn das OnIdle wird in unregelmäßigen Abständen aufgerufen, während man bei Gebrauch des Timers immer exakt 25 Bilder pro Sekunde in den AVI-Stream schrieben kann
Also was ungenaueres gibt es ja wohl nicht als einen Timer zu benutzen (wenn es der normale Timer ist, aber den meinst du wohl).
Ein Timer schickt in einem bestimmten Intervall eine WM_TIMER-Nachricht an die Anwendung (Welche übrigens die niedrigeste Priorität im ganzen System haben.) Diese Nachrichten kommen in die Nachrichtenschlage für das Fenster, wie jede andere auch. Ist die nun voll oder das fenster mit was anderem bescdhäftigt bleibt sie so lange da liegen bis sie von der Anwendung abgeholt wird. Ist die Anwendung nun sehr beschäftigt, kann es im extrem Fall meherer Sekunden dauern bis die WM_TIMER-Nachricht abgeholt und bearbeitet wirde.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat