Einzelnen Beitrag anzeigen

schill

Registriert seit: 17. Dez 2012
3 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Firemonkey Animationen flüssiger ablaufen lassen

  Alt 23. Jan 2013, 17:39
Was mir aufgefallen ist, dass das erstmalige ausführen einer Animation nicht so flüssig ist wie ab dem 2. mal.
Das kann ich bestätigen. Eventuell müsste man also die Animationen, bei denen es zu Rucklern kommt, einmal im Hintergrund ausführen.

Eine wirklich saubere Lösung ist dies allerdings auch nicht.



VERMUTUNG: So könnte ggf. auch eine Animation "optisch ruckeln". Im Puffer werden vielleicht alle Änderungen schrittweise vollzogen, aber auf dem sichtbaren Formular werden diese nicht fortlaufend aktualisiert.
Versuche mal, ob ein Timer etwas bringt, in dem Du testweise zyklisch ein Invalidate für Dein Formular durchführst.
Wäre mal interessant, ob das hilft.

Ich habe folgendes getestet:
Code:
  while (rectangle.Position.X > -410) do
  begin
    rectangle.Position.X := rectangle.Position.X - 3;
    sleep(5);
    Application.ProcessMessages;
  end;
Die Animation ist flüssig! Die optischen Ruckler sind verschwunden. Danke für die Idee!


Ich arbeite hier noch mit XE2. Habe Probleme nach XE3, also FM2 zu migrieren. Bestes Beispiel ist das FireFlow-Sample, das unter XE3 nicht sauber läuft.
Wüsste ich was da falsch läuft würde ich schon längst XE3 benutzen....
Zum testen könntest du es auch einmal mit einem Timer oder der Konstruktion von oben versuchen. AnimateFloat scheint noch nicht ganz ausgereift zu sein.

Geändert von schill (23. Jan 2013 um 17:45 Uhr)
  Mit Zitat antworten Zitat