Nous sommes en battant la tête contre les problèmes de performances avec un Angulaire de l'application que nous développons pour une banque.
Malheureusement, c'est une rupture de contrat à montrer des extraits de code. Peu importe, je peux décrire certaines des principales questions en cours, et je suis en espérant que les meilleures pratiques peuvent être recommandés.
Les Applications De Structure:
- Essentiellement, un géant multi-page de formulaire.
- Chaque formulaire est son propre partielle, avec imbriqués les contrôleurs et les partiels sur 3 niveaux de profondeur.
- Les mêmes formes sont ng répétée sur une collection d'objets json.
- Chaque formulaire est lié à l'objet / modèle qu'il est répété plusieurs fois.
- Nous sommes censés soutenir n'importe où à partir de 1-200 formes sur la page.
Si vous jetez un oeil à la timeline. Nous passons beaucoup de temps dans le jQuery analyser méthode html, jQuery recalculer l'étable, la méthode GC Événement (Garbage Collection). J'imagine que la minimisation de ces devraient accélérer un peu les choses. Ils sont tous une partie de l'écart Angulaire du cycle de vie, mais il peut y avoir de meilleures façons de les éviter. Voici quelques captures d'écran du générateur de profils:
En fin de compte, l'application est lente à mesure que le nombre de formes répétées passe au-dessus de 5. Chaque forme est relativement indépendante pour les autres. Nous avons essayé de ne pas regarder toutes les propriétés partagées entre les formes.