WPF: How To: Mejorar el rendimiento en animaciones

Uno de los aspectos menos conocidos de las animaciones en Windows Presentation Foundation es la capacidad de control que tenemos sobre su comportamiento en tiempo de dibujado.

WPF nos provee entre otras muchas cosas de la capacidad de modificar el Frame Rate (nº de fotogramas por segundo) utilizados para animar un elemento por el motor de composición de WPF.

Para controlar este aspecto de las animaciones solo debemos hacer lo siguiente:

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            Timeline.DesiredFrameRateProperty.OverrideMetadata(
                   typeof(Timeline),
                       new FrameworkPropertyMetadata { DefaultValue = 10 });
        }
    }

Esto modifica dicha propiedad de dependencia «DesiredFrameRateProperty» para todas las animaciones ccontenidas dentro de esta ventana.

Un dato interesante también es que el valor por defecto de esta propiedad es de 50 fotogramas por segundo.

Advertir que al modificar dicho valor incrementamos o reducimos el consumo de CPU para la gestión de las animaciones, por lo que debe ser usada con mucha precaución ya que su uso incorrecto puede derivar en un consumo elevado o en efectos gráficos no deseados.

Espero que os resulte de utilidad.

Saludos