Aceleración de Hardware y Uso de WillChange en Animaciones

Clase 18 de 20Curso de Transformaciones y Transiciones en CSS

Resumen

La aceleración por hardware permite usar componentes específicos de tu ordenador para quitar trabajo al procesador de tu dispositivo. Uno de estos componentes puede ser una tarjeta gráfica, que puede usarse para renderizar o mostrar el contenido del navegador en tu pantalla.

Propiedades al animar

En la clase anterior, aprendiste que existen propiedades que se deben animar y otras que no, esto se debe a un proceso de renderizado, este proceso consta de varios pasos: JavaScript, Style, Layout y Composite. Los tres últimos determinan si son adecuados para una animacion, con respecto al rendimiento. Las propiedades recomendables son opacity y transform, porque estas solo necesitan del último paso.

Problemas de la aceleración por hardware

  • Las imágenes no cargan correctamente.
  • En los vídeos, la imagen o el sonido no se reproduce correctamente.
  • Algunas partes del navegador aparecen mal diseñadas.

Propiedad will-change

La propiedad will-change de CSS sirve para anticipar y preparar los cambios de una transformación. Este tipo de optimizaciones puede aumentar la capacidad de respuesta de una página al realizar un trabajo potencialmente costoso en rendimiento.

En el siguiente ejemplo, observa la transición con una propiedad no recomendable y luego agregando la propiedad will-change. ¿Notaste que la transición no es fluida? ¿Qué tanto tiembla el elemento?

El elemento con la propiedad no recomendable tiembla un poco porque la animación no es fluido y requiere de más recursos, impactando en el rendimiento de la animación.

Documentación de will-change

Contribución creada por Andrés Guano, con aportes de Carlos Mazzaroli.