Dans les termes du Skill
Conseils officiels de GSAP pour maintenir des animations fluides à 60 fps en choisissant des propriétés peu coûteuses et en évitant le travail de mise en page. Il indique d'animer les clés transform (x, y, scaleX, scaleY, rotation, rotationX, rotationY, skewX, skewY) et opacity plutôt que width, height, top, left, margin ou padding, de placer will-change dans le CSS uniquement sur les éléments qui s'animent réellement, et d'effectuer toutes les lectures du DOM avant les écritures pour éviter les recalculs de mise en page en cascade.
Les conseils sur le regroupement couvrent le stagger par rapport aux tweens à délai manuel, la virtualisation pour les longues listes, gsap.quickTo() pour les suiveurs de souris, l'ajustement du pin et du scrub avec un ScrollTrigger.refresh() à debounce, et l'arrêt des tweens hors écran. Cela s'adresse aux designers et développeurs qui ajustent des animations GSAP existantes, pas à ceux qui les créent.
Ce qu'il produit
- Une déclaration will-change à ajouter au CSS de l'élément animé.
- Une configuration gsap.quickTo() pour x et y, pilotée par un écouteur mousemove sur un conteneur.
Fonctionnement
- 01Animer des propriétés compatibles avec le compositeur
Limiter l'animation aux clés transform et à opacity, qui conservent le travail sur le compositeur au lieu de déclencher la mise en page et le rendu.
- 02Laisser GSAP regrouper les écritures
GSAP regroupe déjà les mises à jour en interne, donc le risque vient de votre propre code DOM qui entrelace lectures et écritures autour de lui.
- 03Réutiliser un seul tween pour les valeurs à haute fréquence
Pour les propriétés mises à jour à chaque déplacement du pointeur, gsap.quickTo() maintient un seul tween actif au lieu d'en allouer un nouveau à chaque mise à jour.
- 04Maîtriser le travail piloté par le défilement
Une petite valeur de scrub, comme scrub: 1, peut réduire le travail effectué pendant le défilement, mais le fichier indique de tester ce réglage sur des appareils bas de gamme.
- 05Arrêter les animations que vous ne voyez pas
Mettre en pause ou arrêter les animations hors écran et inactives, par exemple lorsque l'utilisateur quitte la section.