Performance avec un nombre infini de défilement ou beaucoup d'éléments du dom?

J'ai une question sur un grand nombre de dom elmenets et de la performance.

Disons que j'ai 6000 éléments du dom de la page et le nombre d'éléments peut être augmenté à un utilisateur d'interagir avec la page (rouleaux d'utilisateur pour créer un nouvel élément du dom) comme twitter.

Pour améliorer les performances de la page, je pense qu'à deux choses.

  1. set display none pour éléments invisibles pour éviter de redistribution
  2. supprimer des éléments invisibles de la dom, puis rajoutez-les au besoin.

Sont-ils d'autres moyens d'améliorer une page avec beaucoup d'éléments du dom?

  • Réglage de l'affichage à aucun des déclencheurs de redistribution qui est complètement à l'opposé de ce que vous voulez si vous voulez éviter de redistribution. Ne rien faire ne déclenche pas de redistribution. La définition de la visibilité à caché et aussi de ne pas déclencher de redistribution. Cependant, ne pas faire quelque chose de beaucoup plus facile.
  • Vous devriez aussi être conscient que votre gestionnaire de fenêtre déjà supprime les pixels invisibles à partir de l'écran pour accélérer la vitesse de l'INTERFACE utilisateur de l'interaction. Le faire vous-même en javascript sera probablement ralentir les choses au lieu de précipiter les choses.
  • Lorsque j'ai mis en display none, il déclenche de redistribution. C'est vrai. mais..quand vous faites défiler, il déclenche également la redistribution et le navigateur doit calculer disposition pour tous les éléments sur la page. J'ai pensé affichage de réglage aucun certains des éléments sur la page de les aider à réduire l'aménagement du temps de calcul.
  • avec votre 2ème commentaire, je pense que l'affichage de réglage de aucun ne les aidera pas.
  • Non, la redistribution n'est pas déclenché lorsque vous faites défiler. Le navigateur attire tous les éléments à la fois, même en dessous de défilement ligne.
  • selon phpied.com/rendering-repaint-reflowrelayout-restyle on dirait qu'elle fait..
  • Non, il n'est pas. Vous pouvez le vérifier vous-même par la compilation de firefox ou de google chrome avec debug et en cours d'exécution à travers un générateur de profils. Le défilement des déclencheurs repeint, tout en faisant défiler tous les programmes Word ou le bloc-notes déclenche repeint. Même en déplaçant le pointeur de la souris déclenche repeint. Mais repeint sont pas cher - ils ont déjà été optimisé depuis la fin des années 1980 et sont mis en œuvre par l'OS/gestionnaire de fenêtre elle-même plutôt que de le programme. Le défilement ne déclenche pas de redistribution.
  • merci pour l'aperçu. Je vais vérifier!
  • ah..j'ai eu l'impression de défilement de redistribution à partir de paulirish.com/2011/dom-html5-css3-performance la vidéo. La vidéo des listes de cette fenêtre.scrollBy causes de redistribution. Je me demande pourquoi il le fait pour l'utilisateur de défilement ne fonctionne pas.
  • C'est le ultime script de performance - airbnb.github.io/infinity
  • Aussi, un grand article sur ce - dannysu.com/2012/07/07/infinite-scroll-memory-optimization
  • J'ai posté une question similaire, stackoverflow.com/questions/33340901/... s'il vous Plaît partager toutes les informations dont vous avez peut-développés.

InformationsquelleAutor Moon | 2012-09-27