EcrituresNumeriques / stylo

Stylo est un éditeur de textes pour articles scientifiques en sciences humaines et sociales.
https://stylo.huma-num.fr
GNU General Public License v3.0
48 stars 13 forks source link

Lenteur lors de l'édition d'un texte composant plusieurs dizaine de milliers de lignes #404

Open ggrossetie opened 3 years ago

ggrossetie commented 3 years ago

Je fais des tests avec une bibliographie comportant 1200 citations. Le BibTeX correspondant fait environ 15K lignes.

L'édition de ces références bibliographiques à partir d'un <textarea> est assez lente sur Chrome. Si on remplace le <textarea> par le composant React CodeMirror2, c'est encore pire, il y a des lenteurs à chaque opérations.

Je reproduis ces lenteurs avec le composant Controller et Uncontroller. Par contre, je ne reproduis le problème en utilisant directement CodeMirror (par exemple à partir du site : https://codemirror.net).

J'ai fais quelques tests avec Monaco, l'éditeur utilisé dans Visual Code, et l'édition reste fluide même avec plusieurs milliers de lignes.

Je pense qu'il faudrait investiguer car on aura aussi le problème lorsqu'on édite des articles assez longs.

ggrossetie commented 3 years ago

Si on décide d'utiliser Monaco, on aura quelques fonctionnalités bonus :

feat

<ctrl> + <click> pour ouvrir les liens, naviguer, replier/déplier une référence bibliographique, de l'auto-complétion... si besoin, je pense que ces fonctionnalités peuvent se désactiver.

antoinentl commented 2 years ago

@Mogztter Est-ce que l'on peut considérer que cette partie est réglée avec le nouveau mode d'affichage pour les références bibliographiques ?

ggrossetie commented 2 years ago

Non ce n'est pas lié à l'affichage des références bibliographiques sous forme de liste mais à l'affichage des références bibliographiques au format texte brute (BibTeX).

Quand il y a beaucoup de texte/lignes, le composant qu'on utilise ou même un <textarea> a du mal car je pense que l'ensemble du texte est rendu (alors que Monaco fait un rendu uniquement des lignes visibles).

antoinentl commented 2 years ago

Merci pour la précision !