Pourquoi les transitions pour certaines propriétés CSS sont lents et aucun couramment
J'ai passé un bout de 4 heures sur une simple transition avec une performance acceptable:
J'ai d'abord essayé ce code :
left: 2000px;
-webkit-transition: left 1s linear;
-moz-transition: left 1s linear;
-ms-transition: left 1s linear;
Le résultat a été terrible sur Chrome v21.0.1180.89 et FireFox v15.0.1, mais a été grande sur IE10.
J'ai capturé l'utilisation CPU et GPU graphique d'utilisation et a constaté que chrome ne pas utiliser le GPU pour la base de propriétés css,
Quelle est la solution moderne pour les navigateurs?
- La solution pour les navigateurs modernes est-à-matériel-accélérer tout comme IE.
Vous devez vous connecter pour publier un commentaire.
N'utilisez pas de gauche ou en haut, en bas, à la marge ou le rembourrage des propriétés de déplacer les éléments, mais seulement "transformer: traduire".
De la même manière, pour redimensionner des éléments en "transform: scale" au lieu de la hauteur ou la largeur.
À gauche, en haut, en bas, margin, padding, la hauteur, la largeur des propriétés (et beaucoup d'autres) forcer le navigateur à recalculer toutes les mise en page, de sorte que la géométrie de nombreux éléments, avec beaucoup de CPU à travailler.
Chaque propriété a un poids différent, dans cet article, il est clairement expliqué
haute performance des animations
Edit1: triggers.com semble être une bonne page si vous n'avez pas se souvenir de chaque propriété poids
Comme le résultat de mes 4 heures expériences, il est préférable d'utiliser transformer comme ci-dessous:
Ce fut une grande sur IE10, Chrome, la version v21.0.1180.89 et FireFox v15.0.1.
Note: IE9 ne prend pas en charge tarnsforms