Frage

ich ein Spiel schreibe, in dem ich ein Ereignis möchte für mein Spiel Hauptschleife zum Auftakt hat sich die Veranstaltung nach einer sehr kleinen Zeit abgefeuert werden.

DispatcherTimer mir geholfen, dass bei der Umsetzung, stieß ich auf diesen Artikel

http://blogs.silverlight.net/blogs/msnow/archive/2008/07/09/storyboard-versus-dispatchertimer-for-animation-and-game-loops.aspx

nach ihrem Storyboard Ansatz ist besser als DispatcherTimer. Dieser Blog ist für Silverlight, habe ich noch in MSDN docs bin auf der Suche, wenn WPF Storyboard ist auch auf einem zweiten Thread gestartet. Hat jemand wissen, ob mit Storyboard-Timer in WPF Vorteile gegenüber Dispatcher Timer hat.

War es hilfreich?

Lösung

Ich würde sagen, dass seit seinem von einem offiziellen Blog kommt, dann ist es wahrscheinlich richtig ist, und die Vorteile sind die eigene in diesem Blog-Eintrag aufgelistet. Das Post wurde von einem Senioren SDET Blei auf dem Web-Tools-Team bei Microsoft geschrieben. So würde ich davon ausgehen, dass das, was er sagt, hält Verdienst.

Aus meiner Forschung, die Gründe, die StoryboardTimer sind besser als der DispatcherTimer ist wie folgt:

  1. Das Storyboard auf einem separaten Thread behandelt wird, die nicht von dem UI-Thread, der die DispatcherTimer auf ist betroffen ist.
  2. Die DispatcherTimer ist eine geringere Auflösung Timer als der Timer hinter der Storyboard-Klasse, die den Verlust in Treue verursacht.
  3. Die Storyboard-Ausführung ist stabiler in den verschiedenen unterstützten Betriebssystemen und Web-Browser.

Andere Tipps

Sie können auch versuchen CompositionTarget.Rendering Ereignis zu bedienen, einfach bleiben vom Storyboard entfernt. Hier sind einige Links zu CompositionTarget.Rendering:

Gewusst wie: Rendern auf einer Per Frame-Intervall Mit CompositionTarget

Silverlight CompositionTarget.Rendering Spielschleife

Spaß mit Animation Teil 1 - CompositionTarget.Rendering

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top