В последнее время я пробовал разные эмуляторы терминала, от встроенного gnome-терминала, aterm, xterm, wterm, до rxvt. Тест, который я делал, находится в следующем порядке:
- Откройте окно Tmux с 2 панелями
- Левая панель будет многословной задачей, такой как
grep a /et/c -r
или простойtime seq -f 'blah blah %g' 100000
- На правой панели будет окно vim с включенным синтаксисом, открывающее любой файл, содержащий более 100 строк кода.
Когда левая панель печатает много выходных данных, правая панель кажется очень медленной и не отвечает, я попытался прокрутить vim, но для его изменения требуется 1-2 секунды. Когда я пытаюсь нажать CtrlCна левую панель, он ждет более 10 секунд, прежде чем он остановился
Когда я делаю то же самое в TTY (нажатие CTRL+ ALT+ ( F[1-6])), этого не происходит, и обе панели очень отзывчивы.
Я отключил некоторые настройки, такие как шрифты сглаживания, изменение цвета, использовал настройки по умолчанию и изменил на xmonad и openbox, но это ничего не меняет.
Результат time seq -f 'blah blah %g' 100000
не очень отличается между этими терминалами, но отзывчивость действительно отличается, особенно, когда я использую tmux со сплит-панелью (или другие мультиплексоры). К вашему сведению, я запускаю их все в развернутом режиме.
Я читал о терминалах с буферизацией кадров, но не уверен, как он работает и как его можно использовать для ускорения эмулятора терминала.
Итак, мой вопрос: что делает эмулятор терминала намного медленнее, чем TTY? Есть ли возможность сделать это так быстро, как TTY? Может быть, аппаратное ускорение или что-то? Одно я знаю, мое разрешение на X-сервере при запуске максимизированного эмулятора терминала составляет 1920x1080, а когда я использую TTY, оно меньше этого, но я не уверен, как это повлияет на производительность.