V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
haoliang
V2EX  ›  Linux

gpu-accelerated 对于 terminal 在日常使用中有明显效果吗?

  •  
  •   haoliang · 64 天前 · 2110 次点击
    这是一个创建于 64 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我分别测试了 alacritty 、st 各 50 个,下面是 systemd 统计到的内存、cpu 使用量。 (其中 cpu 使用时间是全部启动完查到的)

    看内存、cpu 使用,我一点都不觉得值得用 alacritty 啊。我跟风用了 3 年有

    全部 50 个实例的资源使用

    ● alacritty.slice - Slice /alacritty
         Loaded: loaded
         Active: active since Sat 2022-10-01 16:44:10 CST; 1min 41s ago
          Until: Sat 2022-10-01 16:44:10 CST; 1min 41s ago
          Tasks: 782
         Memory: 5.8G
            CPU: 17.592s
         CGroup: /user.slice/user-1000.slice/[email protected]/alacritty.slice
                 ├─run-r0247a080956e4b4a83f20f6a9c648b3f.service
                 │ ├─300473 /usr/bin/alacritty
                 │ └─300704 /bin/zsh
    
    ● st.slice - Slice /st
         Loaded: loaded
         Active: active since Sat 2022-10-01 16:46:41 CST; 2min 10s ago
          Until: Sat 2022-10-01 16:46:41 CST; 2min 10s ago
          Tasks: 100
         Memory: 307.4M
            CPU: 9.463s
         CGroup: /user.slice/user-1000.slice/[email protected]/st.slice
                 ├─run-r0011419f2a6f4dd9aa777fe36368ce74.service
                 │ ├─302282 /usr/bin/st
                 │ └─302305 /bin/zsh
    

    单个实例的资源使用

    ● run-r0247a080956e4b4a83f20f6a9c648b3f.service - /usr/bin/alacritty
         Loaded: loaded (/run/user/1000/systemd/transient/run-r0247a080956e4b4a83f20f6a9c6>
      Transient: yes
         Active: active (running) since Sat 2022-10-01 16:44:10 CST; 3min 44s ago
       Main PID: 300473 (alacritty)
          Tasks: 17 (limit: 38085)
         Memory: 126.1M
            CPU: 321ms
         CGroup: /user.slice/user-1000.slice/[email protected]/alacritty.slice/run-r0247a0>
                 ├─300473 /usr/bin/alacritty
                 └─300704 /bin/zsh
    
    ● run-r0011419f2a6f4dd9aa777fe36368ce74.service - /usr/bin/st
         Loaded: loaded (/run/user/1000/systemd/transient/run-r0011419f2a6f4dd9aa777fe3636>
      Transient: yes
         Active: active (running) since Sat 2022-10-01 16:48:36 CST; 2min 18s ago
       Main PID: 302282 (st)
          Tasks: 2 (limit: 38085)
         Memory: 6.0M
            CPU: 174ms
         CGroup: /user.slice/user-1000.slice/[email protected]/st.slice/run-r0011419f2a6f4>
                 ├─302282 /usr/bin/st
                 └─302305 /bin/zsh
    

    启动脚本

    for _ in {1..50}; do
        systemd-run --user --slice st /usr/bin/st
    done
    
    20 条回复    2022-10-04 08:41:56 +08:00
    haoliang
        1
    haoliang  
    OP
       64 天前
    忘了加上它们各自的进程、线程数量
    ```
    PID SPID TTY STAT TIME COMMAND
    304097 304097 pts/18 Sl+ 0:00 alacritty
    304097 304098 pts/18 Sl+ 0:00 alacritty
    304097 304099 pts/18 Sl+ 0:00 alacritty
    304097 304100 pts/18 Sl+ 0:00 alacritty
    304097 304101 pts/18 Sl+ 0:00 alacritty
    304097 304102 pts/18 SNl+ 0:00 alacritty
    304097 304103 pts/18 Sl+ 0:00 alacritty
    304097 304104 pts/18 Sl+ 0:00 alacritty
    304097 304105 pts/18 Sl+ 0:00 alacritty
    304097 304106 pts/18 Sl+ 0:00 alacritty
    304097 304107 pts/18 Sl+ 0:00 alacritty
    304097 304108 pts/18 Sl+ 0:00 alacritty
    304097 304109 pts/18 Sl+ 0:00 alacritty
    304097 304111 pts/18 Sl+ 0:00 alacritty
    304097 304112 pts/18 Sl+ 0:00 alacritty
    304097 304113 pts/18 Sl+ 0:00 alacritty
    ```
    ```
    PID SPID TTY STAT TIME COMMAND
    304355 304355 ? S 0:00 st
    ```
    cest
        2
    cest  
       64 天前
    没有,还吃 vram ,训练时可能就少了这点 vram 而 oom 炸了
    aleisterw
        3
    aleisterw  
       64 天前 via Android
    @cest 😄哈哈
    billlee
        4
    billlee  
       64 天前 via Android
    要看和谁比,比 gnome-terminal 和 konsole 是不值得,但比 windows terminal 那可是快多了
    hez2010
        5
    hez2010  
       64 天前 via Android   ❤️ 1
    终端的 GPU 加速效果不是通过内存和 CPU 占用来衡量的,而是展现在了大幅提升具有复杂的多彩色的文本排版和渲染、文字动画、命令行 UI 性能、避免闪烁和提高帧数上的。
    haoliang
        6
    haoliang  
    OP
       64 天前
    我还真通过 `intel_gpu_top` 看了这俩终端的 gpu 使用,在我粗略的测试中`while true; do echo emoji; sleep n; done`, alacritty 、st 的第一项分别有 90 上下%、10 上下% (懒得再测了)。
    ```
    Render/3D 1.89% |██▌ | 0% 0%
    Blitter 0.00% | | 0% 0%
    Video 0.00% | | 0% 0%
    VideoEnhance 0.00% | | 0% 0%
    ```
    haoliang
        7
    haoliang  
    OP
       64 天前
    还是没忍住,补一下相关统计数据。输出:`while true; do echo '😃 abc 😋 def'; sleep 0.1; done`
    alacritty
    ```
    intel-gpu-top: Intel Coffeelake (Gen9) @ /dev/dri/card0 - 955/ 955 MHz; 21% RC6; 9.85/15.07 W; 118 irqs/s

    IMC reads: 11327 MiB/s
    IMC writes: 10445 MiB/s

    ENGINES BUSY MI_SEMA MI_WAIT
    Render/3D 76.43% |██████████████████████████████████████████████████████████████████████████████████████████████████▋ | 0% 0%
    Blitter 0.00% | | 0% 0%
    Video 0.00% | | 0% 0%
    VideoEnhance 0.00% | | 0% 0%
    ```
    st
    ```
    intel-gpu-top: Intel Coffeelake (Gen9) @ /dev/dri/card0 - 106/ 107 MHz; 84% RC6; 0.41/ 2.78 W; 130 irqs/s

    IMC reads: 1341 MiB/s
    IMC writes: 922 MiB/s

    ENGINES BUSY MI_SEMA MI_WAIT
    Render/3D 12.50% |████████████████▎ | 0% 0%
    Blitter 0.00% | | 0% 0%
    Video 0.00% | | 0% 0%
    VideoEnhance 0.00% | | 0% 0%
    ```

    不过实话实说,我不懂这输出的具体含义; mpv 硬件解码时,render 这项用的不高,主要是 video 这项。所以不知道是不是我没配置好
    Owenjia
        8
    Owenjia  
       64 天前
    印象中 Alacritty 作者营销功底比较强,看到过不少人吐槽。
    lwn 上也有过评测文章,Alacritty 的表现也并不出色。过去比较久了,但有句话现在看起来似乎并没有过时:
    > Alacritty doesn't seem to live up to his "fastest terminal emulator in existence" claims

    参考:
    https://lwn.net/Articles/751763/
    yuuko
        9
    yuuko  
       64 天前 via Android
    kitty 呢
    haoliang
        10
    haoliang  
    OP
       64 天前
    @Owenjia 链接不错,发这个帖子前我也粗略看过,不过再次仔细看下来,收获不小。当初没提它主要是因为它没提这个 gpu accelerated 特性。

    我临时试用了下 gnome - terminal ,它针对多实例的情况做了优化 —— 会自动转为 client 、server 模式;不过似乎它不支持 fallback fonts ,设置我常用的字体后,emoji 没法显示。
    不好意思,我标题起大了。我离不开 tmux ,所以不打算看 kitty 、wert ? m 。而且我已经把用到的脚本贴出来了……
    yzwduck
        11
    yzwduck  
       64 天前   ❤️ 1
    GPU-accelerated terminal 在高分辨率屏幕下可能更省 CPU 资源。
    我用 sway 屏幕分辨率 4k 缩放 2x ,草率测试在 Foot/Alacritty 下运行 htop 并上下滚动,发现前者的 CPU 比后者要高数倍。
    Owenjia
        12
    Owenjia  
       64 天前
    @haoliang
    我日常使用 yakuake (konsole) 多一点,偶尔会用 kitty 。
    没有做过量化测试,但使用体验上的确是 kitty 响应更快一点,上面的回复只是觉得 alacritty 作为一个并不算很优秀的实现可能代表不了这一类有 GPU 加速的终端。
    (不常用 kitty 是因为他的默认 TERM 是 xterm-kitty ,经常需要 ssh 到其他机器会有一点不方便。

    > gnome-terminal ... 不支持 fallback fonts
    fallback fonts 感觉大概可以通过 fontconfig 来解决?

    > 离不开 tmux ,所以不打算看 kitty 、wez
    这个应该不冲突吧,不用 kitty 的高级特性只把它当成终端在里面用 tmux 体验也还可以。
    (不过我记得看过一篇文章,tmux 好像会影响一些速度(?)
    secondwtq
        13
    secondwtq  
       64 天前   ❤️ 1
    大概一两年之前试着用过 alacritty 吧,感觉会出现一些肉眼可见的卡顿,可能是 UHD 630 太弱了
    cest
        14
    cest  
       64 天前
    各种用 gpu 加速的 term

    结果都没有 mobaxterm 的 keyword highlight
    开个 mc 遇上 cjk half/full width path/filename 也容易出错
    haoliang
        15
    haoliang  
    OP
       64 天前
    > sway
    哦,谢谢分享,我还没迁移到 wayland 上,不过我这也是 4k 。
    主要是半年前卡在部分程序需要 xwayland
    才能工作,也就算了。不知道中文输入法( fcitx5 )现在还需要借助 xwayland
    运行吗?(哈哈,其实我自己试一下就知道了,不过如果有人指点能少走些弯路呢)

    > gnome - terminal …… fontconfig
    我有设置,不过 gnome-terminal 确实没处理好
    (在不设置字体的前提下,alacritty 、kitty
    都能正常渲染)无所谓啦,恰好之前有人提到,我就顺带试用了一下; konsole
    依赖太多, 令人望而却步

    > tmux 好像会影响一些速度?
    哈哈,我之前也有开帖问过: https://v2ex.com/t/872763 。那时我也萌生过转到 emacs 的想法,直接跟目前这套 terminal+tmux+nvim 工作流拜拜,呵呵
    haoliang
        16
    haoliang  
    OP
       64 天前
    @secondwtq 巧啊,我也是 uhd 630 。你这角度不错,没准是这 gpu 太矬了
    wizardyhnr
        17
    wizardyhnr  
       64 天前
    alacritty 好像说虽然是 rust 写的,但是写得很挫
    DTCPSS
        18
    DTCPSS  
       64 天前 via iPhone
    Windows Terminal 之前为了提高高刷新率控制台应用的性能还做了一些图形上的 cache
    dlolimiuku
        19
    dlolimiuku  
       62 天前
    除了资源暂用,启动速度也是个大坑,之前对比了 alacritty kitty 和 st 。st 比它们都快至少 2 倍。
    webcape233
        20
    webcape233  
       62 天前 via iPhone
    呃你们一个终端工具也玩这么花吗
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4855 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 03:44 · PVG 11:44 · LAX 19:44 · JFK 22:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.