Réduire la charge CPU des animations WPF

Vous aurez surement déjà remarqué que les animations WPF consomment énormément de temps processeur. En effet, celles-ci visent par défaut 60 images par seconde par le biais de la propriété attachée Timeline.DesiredFrameRate. Il est ainsi possible de changer cette valeur de manière globale, ou indépendamment pour chaque animation, ce qui réduira le nombre d'images intermédiaires que le moteur d'animation cherchera à calculer. Dans la plupart des cas une valeur de 30 sera amplement suffisante, et vous observerez un gain substentiel particulièrement pour les animations dont RepeatBehavior vaut Forever. Evidemment, assurez vous aussi d'arrêter les animations lorsqu'elles ne sont pas affichées!

<Storyboard RepeatBehavior="Forever Timeline.DesiredFrameRate="30">

Vous pourrez trouver l'astuce originale sur le blog de Marlon Grech.