Autor Beitrag
inspire
Hält's aus hier
Beiträge: 9

Windoof XP mit Vista-Style

BeitragVerfasst: Sa 22.12.07 20:56 
Hey,
Ich programmiere gerade einen (eigentlich einfachen) Countdown mit Sekunden und Millisekunden.
Den Intervall des Timers für die Sekunden habe ich auf 1000 gestellt, der Timer für die Millisekunden ist auf 1. Trotzdem laufen die Millisekunden irgendwie zu langsam. Beide Timer werden gleichzeitig aktiviert und verändern jeweils ein Label...doch die Millisekunden hängen immer hinterher....

Habe ich einen logischen Fehler gemacht? Oo Oder ist Delphi so doof? :D

inspire
LorenzS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

MS-DOS, WIN 7, WIN 10
BP7.0, D3, D5
BeitragVerfasst: Sa 22.12.07 20:59 
1ms funktiniert nicht immer, es hängt von der CPU und von dem verwerdeten Bebriebssystem(selbst bei unterschieblischen windows versionen server/XP usw) ab. die Zeit schwangt zwischen 1ms und 16ms.

Delphi ist nicht doof, Delphi nutzt auch nur die Windows API für die Timer
inspire Threadstarter
Hält's aus hier
Beiträge: 9

Windoof XP mit Vista-Style

BeitragVerfasst: Sa 22.12.07 21:18 
Kann ich das denn irgendwie umgehen? :/
LorenzS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128

MS-DOS, WIN 7, WIN 10
BP7.0, D3, D5
BeitragVerfasst: Sa 22.12.07 21:23 
keinen timer benutzen. vlt es über einen thread lösen
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Sa 22.12.07 21:26 
Mit dem normalen Timer kommt man nicht unter 50-25ms. Der Standard-Windows-Timer ist einfach nicht genau genug. Stell einen Timer auf einen vernünftigen Wert (meintetwegen 50ms) und ermittle die anzuzeigende Restzeit neu als Differenz zwischen Now und der Zielzeit und zeige das an. Oder von der Startzeit bis Now. 1000 mal in der Sekunde was anzuzeigen ist eh sinnfrei. Das schafft weder das Auge des Menschen, noch ein normaler Monitor. Von Windows mal ganz abgesehen ;-).

Mit Threads kann man da auch nix machen.

Edit: Hab ich vergessen... :welcome: in der Entwickler-Ecke :D

_________________
We are, we were and will not be.
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: Sa 22.12.07 21:26 
Es gibt andere Timer-Komponenten die auf den sog. Multimedia-Timer von Windows aufsetzen. Einfach mal im Forum danach suchen.
inspire Threadstarter
Hält's aus hier
Beiträge: 9

Windoof XP mit Vista-Style

BeitragVerfasst: Sa 22.12.07 23:30 
Vielen Dank, klappt wunderbar! :)

@Gausi: Danke ;)