Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.486 Beiträge
 
Delphi 12 Athens
 
#2

AW: Programm verbraucht zuviel Prozessorleistung - Wie kann ich Lag verhindern?

  Alt 25. Nov 2013, 13:08
Anstatt viele Timer, kannst du das auch in einem Timer lösen. Da ein 30ms Timer eh nicht genau nach 30ms triggered, sondern zum nächstmöglichen Zeitpunkt nach 30ms, stimmt das Timing eh nicht exakt (das siehst du auch an dem Lag).

Nimm nur einen Timer mit einem entsprechend kleinen Intervall (z.B. 30ms). Für jedes bewegte Objekt am Bildschirm berechnest du dann in dem OnTimerEvent einfach die aktuelle Position anhand der verstrichenen Zeit seit dem letzten Event und platzierst es dementsprechend.

Wenn dann die Berechnungen und die Darstellung innerhalb des Events immer noch länger brauchen als 30ms, dann ist dein System zu langsam oder deine Berechnungen zu kompliziert (oder nicht ausreichend optimiert).
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat