Autor Beitrag
asbito
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33



BeitragVerfasst: Do 11.03.10 20:55 
hi leute Ich habe mal eine Frage zum VLC Timer von delphi!
das Intervall be7deutet doch ms also Millisekunden. Wenn ich aber jetzt eine Integer Variable habe und die hochzähle, dann läuft die viel langsammer hoch als es mir mein gesunder menschen verstand sagen würde. Hab das mal gemessen sobald die Variable auf 100 is (also die Variable 100 mal inkrementiert wurde), sind nach meiner stopuhr ca 1,6-1,7 Sekunden Vergangen.
Nicht das jetzt jemand denkt ich bin klein karriert aber ich brauche das für mein Info projekt.^^

lg asbito
AScomp
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 162


Delphi 5, Delphi 7, Delphi 2007, Delphi 2009, Delphi XE, Delphi 10 Seattle
BeitragVerfasst: Do 11.03.10 20:58 
Das liegt daran, dass der TTimer tatsächlich nur bis ca. 20 ms herab arbeiten kann.

Ein kleineres Intervall ist zwar auswählbar (bis 1 ms), resultiert aber im kleinsten, möglichen Intervall von eben ca. 20 ms.
asbito Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 33



BeitragVerfasst: Do 11.03.10 21:05 
Achsooooo! Danke!

Jetzt hab ich wenigstens ne Zahl um damit zu rechnen :)

lg asbito
AScomp
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 162


Delphi 5, Delphi 7, Delphi 2007, Delphi 2009, Delphi XE, Delphi 10 Seattle
BeitragVerfasst: Do 11.03.10 21:26 
Alternativ gibt es noch Thread-Timer, die sind schneller.

Der LMDHiTimer (LMD Tools) schafft auf meinem Rechner fast 1 ms als Intervall (1000 Durchläufe = 1060 ms).
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Fr 12.03.10 03:38 
Immer dran denken: Windows ist kein Realtime-Betriebssystem.

Niemand kann garantieren, dass ein bestimmtes Intervall wirklich eingehalten wird. Selbst bei Intervallen > 20ms heißt das nur, dass ungefähr diese Zeit vergangen sein muss. Nach Möglichkeit sollte man also (wenn man z.B. eine Stoppuhr baut) eine absolute Zeitangabe als Referenz verwenden, z.B. den PerformanceCounter, oder wenn ~80ms Genauigkeit reichen, auch GetTickCount.

Ist natürlich alles überflüssiger Aufwand, wenn man dem User nur etwas voranimieren möchte, da kommts auf den exakten Abstand meistens ja nicht an.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."