On peut livrer un hero animé magnifique et atteindre quand même un score Lighthouse de 100. Voici le budget dans lequel je travaille.

Le mouvement vend, mais les saccades font fuir. L’objectif est un hero qui semble vivant sans voler les millisecondes qui décident si un visiteur reste.
Le contenu est d’abord rendu en HTML côté serveur. La couche WebGL s’hydrate par-dessus, si bien que la page est lisible et indexable bien avant la compilation du moindre shader.
Plafonner le pixel ratio, mettre en pause la boucle de rendu hors écran et respecter prefers-reduced-motion. Un téléphone sur batterie ne devrait jamais exécuter la même boucle qu’un GPU de bureau.
La performance est une fonctionnalité. Un score de 100 avec le mouvement intact est une contrainte de conception, pas un compromis.