最近,我一直在尝试各种终端仿真器,从内置的gnome-terminal,aterm,xterm,wterm到rxvt。我一直在按以下顺序进行测试:
- 打开带有2个窗格的tmux窗口
- 左窗格将是一个冗长的任务,例如
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时,分辨率会小于此分辨率,但是我不确定这将如何影响性能。