打开新终端窗口所需的时间

打开新终端窗口所需的时间

我刚刚检查了我的计时:打开一个新gnome-terminal窗口大约需要 0.41-0.45 秒,打开kitty.它确实让我有点困扰,因为它需要花费很多时间才能打开(我希望它接近即时,就像 UI 元素响应鼠标/键盘事件一样)。我想要一些关于加快窗口打开过程或一些打开速度更快的终端替代方案的建议(我kitty已经使用了几年)。也许有人可以分享他们的时间安排,这样我就可以将我的时间安排与某些东西进行比较(我在互联网上没有找到有关此问题的任何信息)。

这是一个 MWE:

terminal=kitty # gnome-terminal
date +%s.%N > .start; $terminal -- sh -c 'echo "$(date +%s.%N)-$(cat .start)" | bc | cut -c 2- > .diff; rm -f .start'; cat .diff; rm -f .diff

我的配置:配备 i7-8550U、SSD、Ubuntu 20.04 的笔记本电脑。

PS 我希望很快就能跳到 Pop!_OS 22.04。之后,我会再次检查我的计时(也许它们会有所改善)。


更新:

尝试使用 root 进行零配置:

  • kitty:0.38-0.43秒
  • gnome-terminal:0.41-0.46秒

更新2:

ranger使用root运行kitty(0conf.)并且alacritty(cargo crate 是用户范围的;0conf.):

  • kitty:0.50-0.57秒
  • alacritty:0.37-0.43秒
  • alacrittyranger:0.22-0.28 秒(现在我们正在谈论

kitty:

date +%s.%N > .start; kitty ranger --cmd 'shell echo "$(date +%%s.%N)-$(cat .start)" | bc | cut -c 2- > .diff; rm -f .start; kill $PPID'; cat .diff; rm -f .diff

alacritty:

date +%s.%N > .start; alacritty -e ranger --cmd 'shell echo "$(date +%%s.%N)-$(cat .start)" | bc | cut -c 2- > .diff; rm -f .start; kill $PPID'; cat .diff; rm -f .diff

PS我用的ranger很多(想切换到lf)并且 99% 我使用绑定到命令的快捷方式打开它kitty ranger

答案1

我发现只有kitty(在我测试过的人中)可以支持连字。看看它如何改进,我认为没有任何东西可以替代它。经过一些研究,我发现(可能在速度更快的 PC 上)有些人设法kitty在 0.2 秒内打开(0.1 秒加载 OpenGL,0.1 秒加载其余部分)。另外,我幸运地发现kitty确实支持“服务器-客户端”架构。您可以创建任意数量的组,其中终端共享一些内容(我没有任何具体细节)。为了创建“主要”(最简单的)组,我只需要添加 3 个字符kitty -1::

--single-instance, -1
如果指定,则只会运行单个 kitty 实例。新的调用将在现有的 kitty 实例中创建一个新的顶级窗口。这允许 kitty 共享 GPU 上的单个精灵缓存,并减少启动时间。您还可以使用 --instance-group 选项拥有单独的 kitty 实例组。

现在,终端(完全定制)打开时间不到 0.2 秒(0.16-0.18)!这比我第一次计时快了 0.4 秒或 3.3 倍。它的速度与其他服务器终端一样快(gnome-terminalxfce4-terminal)。只有 2 个缺点:

  • 我认为没有办法在后台运行服务器,因此第一个终端以常规速度(0.57s)打开;
  • 如果你杀死一个终端(也许有什么东西冻结了)——其他终端都会随之消失。但目前我认为这些事情对我来说不是问题,我可能可以忍受它们。我安装了 Pop!_OS 22.04,UI 响应速度非常快(我真的认为这会进一步减少时间)。

相关内容