所以我在 usesthis.com 上读到一篇文章,他说“...我使用 Terminus 字体,因为它是一种渲染速度快、干净的位图字体。”
这是真的吗?哪种字体在 gnome-terminal 中渲染速度最快?位图字体通常更快吗?它与其他字体真的有明显的区别吗,尤其是在终端中?如何测试字体的渲染速度?
我确实尝试用我以前的字体(Dejavu Sans Mono)和 Terminus 以及 DVSM 打开 gnome-terminal,文本需要一段时间才能出现,但使用 Terminus 则可以立即出现。
答案1
我确实没有感觉到我的终端在使用不同种类的字体时渲染速度有任何变化(我的笔记本电脑有 2 GHz 的 Intel Celeron,所以如果有任何变化我应该会注意到)。我甚至尝试过使用sans
和serif
字体(非等宽字体)并使用,hinting
但我没有注意到常规、非密集使用的性能有任何增加或减少。也许这和你机器的 x 驱动程序有关。顺便说一下,我在 Fedora 20,64 位上。
不过,我使用一些不同的字体进行了小实验:terminus
、dejavu mono
(与 相同monospace
)liberation mono
和open sans
。在两个不同的终端仿真器上,使用不同的提示配置:
- Gnome 终端,100 万行,8192 行缓冲区:
- 完整字体提示:
- 9号终点站
- 启动时间:
0.348
- 执行时间处理时间:
16.137
- 启动时间:
- 等宽字体 9
- 启动时间:
0.344
- 执行时间处理时间:
16.199
- 启动时间:
- 解放单声道 9
- 启动时间:
0.357
- 执行时间处理时间:
16.120
- 启动时间:
- 打开 sans 9
- 启动时间:
0.342
- 执行时间处理时间:
16.261
- 启动时间:
- 9号终点站
- 字体提示已禁用:
- 9号终点站
- 启动时间:
0.351
- 执行时间处理时间:
16.134
- 启动时间:
- 等宽字体 9
- 启动时间:
0.336
- 执行时间处理时间:
16.095
- 启动时间:
- 解放单声道 9
- 启动时间:
0.349
- 执行时间处理时间:
16.391
- 启动时间:
- 打开 sans 9
- 启动时间:
0.352
- 执行时间处理时间:
16.157
- 启动时间:
- 9号终点站
- 完整字体提示:
- XFCE4 终端,100 万行,8192 行缓冲区:
- 完整字体提示:
- 9号终点站
- 启动时间:
0.064
- 执行时间处理时间:
16.127
- 启动时间:
- 等宽字体 9
- 启动时间:
0.062
- 执行时间处理时间:
16.104
- 启动时间:
- 9号终点站
- 完整字体提示:
所有时间均使用time
命令测量并仅获取值real
,针对每种不同的字体配置运行该命令 10 次,此处显示的值是每批测量的平均值,每次执行都使用一个新的终端。
如你看到的没有gnome-terminal
不同字体之间没有任何明显的区别,甚至有没有提示,然而,唯一能看出的是和之间的启动时间差异,xfce4-terminal
其中 gnome速度慢约 554%比 xfce 要好,但在正常情况下这是可以忽略不计的。
答案2
我认为这其实并不重要。如果你进行压力测试,你会发现 gnome-terminal 大部分时间都在处理输入;与此相比,更新显示相对便宜。
请注意,多年来一直有一个愚蠢的错误,导致 gnome-terminal(以及所有基于 vte 的模拟器)运行非常慢。该错误已在 vte-0.36 中修复,带来了约 10 倍的改进。