Editor wird unbenutzbar langsam, wenn der Beitrag länger wird

Ich habe diesen Beitrag in einem Forum gepostet, das Discourse verwendet:

Und ich konnte dieses Problem auch im Demo-Forum reproduzieren.

Dieser Beitrag enthält lange Auszüge von kopiertem Code – genauer gesagt, nicht gerade Code, sondern eher die Ausgabe von ausgeführten Befehlen. Das ist ein ziemlich häufiger Anwendungsfall in Support-Foren über Software und Computer.

Als ich den Beitrag schrieb, wurde der Editor nach dem Einfügen der langen Textblöcke (die nicht einmal so lang sind, nur ein paar hundert Zeilen) beim Tippen immer träger. Es dauerte, bis die Buchstaben, die ich tippte, auf dem Bildschirm erschienen (und ich spreche nicht von der Live-Vorschau, sondern nur von dem Textfeld, in das man tippt). Es wird im Grunde unbrauchbar.

Nein. Discourse ist eine kostenlose Open-Source-Software.

Ich kann dies reproduzieren, wenn ich dies in den Editor kopiere/einfüge. Es wird tatsächlich ärgerlich träge.

3 „Gefällt mir“

Interessant, ich kann es hier nicht reproduzieren:

Ich sehe, dass dieses Forum hinter den Updates zurückbleibt. Letzte Woche habe ich eine Änderung zusammengeführt, die die HighlightJS-Bibliothek auf ihre neueste Version aktualisiert, was dies erheblich beschleunigen wird.

Außerdem hat die Instanz https://forum.manjaro.org die Einstellung autohighlight all code, was für ein Support-Forum, in dem die meisten Beiträge mit Codeblöcken einfache Logdateien und kein tatsächlicher Code sind, keine gute Idee ist. Ich würde ihrem Team vorschlagen, dies so schnell wie möglich zu deaktivieren.

Ansonsten wird das Hervorheben von über 10.000 Codezeilen im Hauptbrowser-Thread auf einigen Geräten spürbar langsam sein, was sehr leicht zu sehen ist, wenn man einen GitHub-Diff auf einem Android-Telefon öffnet. Wir haben Pläne, dies in einem Hintergrund-JS-Worker zu erledigen, aber das hat einige Nachteile und wir sind noch nicht dazu gekommen.

3 „Gefällt mir“

Oh, mein Fehler. Auf der Homepage sah ich einen großen Button “Kostenlos ausprobieren”, was darauf hindeutete, dass man es nur kostenlos ausprobieren kann, und im Preisbereich gab es keine Erwähnung eines kostenlosen Plans. Ich hätte weiter recherchieren sollen, ich schätze, das sind gehostete Pläne oder so etwas.

Außerdem hat die Instanz https://forum.manjaro.org die Einstellung autohighlight all code

Ja, das habe ich bereits bemerkt und vermutet, dass es sich wahrscheinlich um eine Fehlkonfiguration ihrerseits handelt, aber das ist für das Problem nicht relevant. Ich hätte genauso gut ein gleich langes Stück legitimen JavaScript-Codes einfügen können. Oder selbst wenn das Problem tatsächlich nur durch das Hervorheben mit der falschen Syntax ausgelöst wird, rechtfertigt das nicht, dass der Editor außerhalb des Codes träge wird.

Das Hervorheben von über 10.000 Zeilen Code im Hauptbrowser-Thread wird auf einigen Geräten spürbar langsam sein.

Ja, aber es gibt keinen Grund, warum das passieren sollte, während ich den Rest des Beitrags außerhalb des hervorgehobenen Codeblocks bearbeite. Unabhängig davon, ob Sie das im Hauptthread tun (offensichtlich falsch - ich freue mich zu hören, dass Sie daran arbeiten, das zu beheben) oder im Hintergrund, sobald der Code hervorgehoben wurde und ich ihn nicht mehr bearbeite, sollte überhaupt keine Hervorhebungsarbeit mehr anfallen. Jedes Parsen, Berechnen usw. im Zusammenhang mit der Hervorhebung muss nur dann erneut durchgeführt werden, wenn man den Inhalt des Codeblocks ändert.