Hallo,
ich programmiere ein Spiel in WPF und muss dazu fließende Bewegungen von grafischen Elementen (z.B. ein Rechteck) manuell steuern. Deshalb kann ich keine DoubleAnimation verwenden. Wenn ich nun z.B. einen DispatcherTimer laufen lasse, der alle 25ms einen Bewegungsschritt ausführt, so ruckelt die Bewegung immer etwas. Verwende ich das CompositionTarget.Rendering-Event, so ist die Bewegung zwar stabil (klar, denn es wird ja immer brav pro Renderschritt animiert und nicht mitunter dazwischen), aber die Geschwindigkeit ist abhängig von der Bildschirmfrequenz. Somit würden die gleichen Bewegungen im Spiel bei 50Hz langsamer laufen, als bei 60Hz.
Was wäre also der richtige Ansatz, um ruckelfreie Bewegungen mit immer gleicher Geschwindigkeit zu erzeugen?
Danke,
Meldur
ich programmiere ein Spiel in WPF und muss dazu fließende Bewegungen von grafischen Elementen (z.B. ein Rechteck) manuell steuern. Deshalb kann ich keine DoubleAnimation verwenden. Wenn ich nun z.B. einen DispatcherTimer laufen lasse, der alle 25ms einen Bewegungsschritt ausführt, so ruckelt die Bewegung immer etwas. Verwende ich das CompositionTarget.Rendering-Event, so ist die Bewegung zwar stabil (klar, denn es wird ja immer brav pro Renderschritt animiert und nicht mitunter dazwischen), aber die Geschwindigkeit ist abhängig von der Bildschirmfrequenz. Somit würden die gleichen Bewegungen im Spiel bei 50Hz langsamer laufen, als bei 60Hz.
Was wäre also der richtige Ansatz, um ruckelfreie Bewegungen mit immer gleicher Geschwindigkeit zu erzeugen?
Danke,
Meldur