Ich habe in letzter Zeit verschiedene Terminal-Emulatoren ausprobiert, vom eingebauten Gnome-Terminal über aterm, xterm, wterm bis hin zu rxvt. Der Test, den ich gemacht habe, ist in dieser Reihenfolge:
- Öffne ein tmux Fenster mit 2 Fenstern
- Der linke Bereich wird eine ausführliche Aufgabe wie
grep a /et/c -r
oder eine einfache seintime seq -f 'blah blah %g' 100000
- Das rechte Fenster ist ein vim-Fenster mit aktivierter Syntax, in dem alle Dateien mit mehr als 100 Codezeilen geöffnet werden.
Wenn im linken Bereich eine große Menge an Ausgaben gedruckt wird, scheint der rechte Bereich sehr langsam zu sein und nicht zu reagieren. Ich habe versucht, in vim zu scrollen, aber es dauert 1-2 Sekunden, bis er sich ändert. Wenn ich versuche, CtrlCauf das linke Fenster zu drücken , wartet es mehr als 10 Sekunden, bevor es gestoppt wird
Wenn ich in TTY dasselbe mache (drücke CTRL+ ALT+ ( F[1-6])), passiert das nicht und beide Fenster sind sehr reaktionsschnell.
Ich habe einige Konfigurationen wie Antialias-Schriften deaktiviert, die Farbgebung deaktiviert, Standardeinstellungen verwendet und zu xmonad und openbox gewechselt, aber es ändert sich nichts.
Das Ergebnis von time seq -f 'blah blah %g' 100000
ist bei diesen Terminals nicht wirklich unterschiedlich, aber die Reaktionszeit ist wirklich unterschiedlich, besonders wenn ich spitted pane tmux (oder andere Multiplexer) verwende. Zu Ihrer Information, ich starte sie alle in einem maximierten Modus.
Ich habe etwas über rahmengepufferte Terminals gelesen, bin mir aber nicht sicher, wie es funktioniert und wie es verwendet werden kann, um meinen Terminalemulator zu beschleunigen.
Meine Frage ist also, was macht Terminal-Emulator viel langsamer als TTY? Gibt es eine Möglichkeit, es so schnell wie TTY zu machen? Vielleicht Hardwarebeschleunigung oder so? Eine Sache, die ich weiß, ist meine Auflösung in X-Server, wenn ein maximierter Terminalemulator ausgeführt wird, 1920 x 1080, und wenn ich TTY ausführe, ist sie geringer, aber ich bin nicht sicher, wie sich dies auf die Leistung auswirken würde.