Comment les éditeurs gèrent-ils les documents de grande taille ?
Salut,
En voulant faire un petit éditeur avec numéros de ligne je me suis aperçu qu'au bout d'un certain nombre de ligne il y a un fort ralentissement (j'en ai discuté ici : Ralentissement important au bout de quelques lignes). Et pourtant ces lignes ne contiennent pas grand chose alors que les éditeurs gèrent des documents longs avec bien plus de balises dues notamment à la surbrillance syntaxique...
Je pense que cela devient lent lorsque la div éditable possède trop d'enfants... J'ai fait un test avec deux div éditables : une contenant le code entier et une autre dans laquelle on peut travailler sur seulement une partie du code eh bien là ça va vite, cela fonctionne normalement...
Du coup je pense que certains éditeurs ne travaillent que sur une portion du code à la fois mais l'utilisateur a l'impression de travailler sur tout le code.
On aurait donc le code entier dans une div à part ou dans des strings (ce qui éviterait de charger trop le DOM, je suppose aussi que travailler avec des strings est plus rapide et moins gourmand en mémoire ?) et seule une petite partie du code serait dans la zone éditable (cette partie dépendrait de la position de la srollbar).
Qu'en pensez-vous ?
------------------
Exemple d’éditeur : http://codepress.sourceforge.net - On voit bien qu'il devient lent quand le document devient important...