Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Wieviele Timer sind möglich? (https://www.delphipraxis.net/165713-wieviele-timer-sind-moeglich.html)

tofse 12. Jan 2012 14:47

Wieviele Timer sind möglich?
 
Hallo,

das ist eine Folgefrage zu meinem anderen Thema.

In meinem Programm habe ich bereits einen Timer, der 1x pro Sekunde aktiv ist. Um mein anderes Problem zu lösen, bräuchte ich einen zweiten Timer, der alle paar ms (wie klein ist möglich/sinnvoll?) aktiv ist.

Theoretisch könnte ich auch alles in den bereits vorhandenen Timer packen, aber dort sind schon einige Dinge implementiert, je nach Timer.tag, das ich hochzähle, zum Einsatz kommen.

Deshalb die Frage, ob ich 2 Timer verwenden kann ohne dass Probleme zu erwarten sind?

Grüße
Christof

Klaus01 12. Jan 2012 14:49

AW: Wieviele Timer sind möglich?
 
Hallo,

eine zweiter Timer ist schon machbar.
20ms Interval ist so meines Wissens nach die unterste Grenze.

Alternativ kannst Du auch noch auf Threads (TThread) ausweichen.

Grüße
Klaus

himitsu 12. Jan 2012 15:49

AW: Wieviele Timer sind möglich?
 
Bei Windows 7 liegt das kleinste Intervall bei ~16 ms (Server 2008 bei ~8 ms)

Aber so kleine Timerintervalle sind eigentlich nicht sinnvoll (unter 100 ms) wäre ein Thread meistens sinnvoller.
Kommt aber darauf an, was deine Timer so machen. (bei vorwiegend GUI-Zeugs lohnen sich Threads nicht, da man dann nur am Synchronisieren wäre)


Zur ursprünglichen Frage "Wieviele Timer sind möglich?":
Wenn man darüber nachdenken muß, bzw. wenn diese nicht ausreichen (mehrere Tausend sind's bestimmt), dann liegt garantiert ein Designproblem vor.

Mavarik 12. Jan 2012 15:56

AW: Wieviele Timer sind möglich?
 
Du kannst sicherlich "unbegrenzt" Timer erzeugen...

Ob das noch sinnvoll ist liegt dann am Intervall.

Ich hab immer 3-4 Timer auf dem Form für alles mögliche... Aber die Interfalle sind dann so 1h 3h 10min usw...


Mavarik

ralfiii 12. Jan 2012 16:15

AW: Wieviele Timer sind möglich?
 
Also bei zwei Timern hast du sicher keine Probleme zu erwarten.
Wenn du wirklich HUNDERTE Timer auf dein Formular pappst und das Formular auch noch dynamisch öfter erzeugst, dann wirst du irgendwann (bei Win98 früher als bei einem modernen OS) Probleme mit den verbrachten Handles kriegen.

Es gibt übrigens eine sehr gute Komponente, die unabhängig von der Anzahl der Timer nur ein Handle braucht und zudem noch threadsafe ist:

TSharedTimer
(Quality central issue #81256 - von Erik van Bilsen)

hth,
Ralf


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz