Windows Terminal 的性能有多烂

2021-07-05 12:43:45 +08:00
 h404bi

Casey Muratori 最近在 Windows Terminal 的 GitHub issue tracker 发了一个反馈—— Extremely slow performance when processing virtual terminal sequences,表达了对 WT 性能的关注,他还写了一个 benchmark 程序 TermBench 来测试 WT 的渲染性能具体有多差(根据 Casey 表述,达到了惊人的 2 fps)。

issue 中 WT 的 member 们不断回复讨论“说明解释”运行慢的理由,后来为了避免讨论失控,给出了有意思的「 because we've made it hard, not because of some intrinsic quality of the universe. 」结论。不过还是未能说服 Casey,进一步激烈的讨论后 Casey 得到了「 what you’re doing is describing something that might be considered an entire doctoral research project in performant terminal emulation as “extremely simple” somewhat combatively. 」的论断,被认为把事情看得过于简单,因为终端性能这件事能作为 PhD 项目了。

Casey 当然不服,但 issue 已经被锁了。于是他在他的 Handmade Hero 频道上“罕见地”发布了一名为 How fast should an unoptimized terminal run? 的与 HandmadeHero 无关的视频(还调侃地写上了 Terminal PhD Dissertation )来论述 WT 到底有多慢,它能有多快:

https://www.youtube.com/watch?v=hxM8QmyZXtg

除了视频,还给出了相应的参考实现 RefTerm: https://github.com/cmuratori/refterm 作为对比。

Hacknernews 上也有对此的讨论串 https://news.ycombinator.com/item?id=27725133,虽然并没有太多讨论,但也有些挺有意思的,比如「 ... if your team lacks anyone with that intuitions, your team will spend their time finding “explanations” for the bad performance instead of fixing it. 」。

整个事件看下来,我对最近发布的 Windows 11 也有了新的感慨——无论再怎么更新,它依旧是一座大屎山,有些东西就是长年无法改变的,看看这个回复回复就知道。(逃)


Casey Muratori 是谁?

Casey Muratori 是一名经验丰富的游戏引擎开发者,参与过多款知名游戏的研发。他也是 Handmade Hero 项目的作者,如果你不了解 Handmade Hero,可以去搜索了解下。这个非常硬核的教学向项目发起于 2014 年,目标是不使用任何引擎,从头手写每一行代码来学习做出一款游戏。每周进行更新,至今已坚持近 7 年之久,超过 600 集视频,还衍生出如 4coder 等实际生产可用的项目。

13360 次点击
所在节点    Windows
80 条回复
smallthing
2021-07-06 00:03:19 +08:00
虽然慢,但是也不至于 fps 只有 2 啊???
Glyphs: 3k Bytes: 131kb Frame: 1234 Prep: 0ms Write: 6ms Read: 0ms Total: 6ms
[F1]:write per frame [F2]:color per char TermMarkV1: 286kcg/s (11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz Win32 VTS)
smallthing
2021-07-06 00:06:15 +08:00
@LokiSharp why not ?
foMM
2021-07-06 00:16:29 +08:00
wsl2 搭配 wt 加 docker 比我的 2020 款 13 寸 macpro 运行 docker 快,我觉得挺好的。
mason961125
2021-07-06 01:03:37 +08:00
哈哈哈哈哈哈哈哈哈哈哈楼上吹 Mac 的 virtual termial 的真的用过 iTerm2 和 Windows Terminal 吗? iTerm2 卡成那个比样还好意思吹哈哈哈哈哈哈哈哈哈哈哈
IgniteWhite
2021-07-06 01:42:34 +08:00
@mason961125 离谱,iTerm2 是真的慢,但是 kitty 和 Alacritty 在 macOS 上又非常快。这个怎么讲,是 iTerm2 慢还是 macOS 里的 terminal emulators 慢?
wangxn
2021-07-06 02:05:19 +08:00
@Dragonphy putty
SIGEV13
2021-07-06 05:20:49 +08:00
windows terminal 现在的帧数已经远远超过我显示器的刷新率,为啥要关心性能问题??
way2explore2
2021-07-06 05:26:15 +08:00
@ncepuzs 整个 windows os 都是

Haha

早晚换 linux kernel
handuo
2021-07-06 08:34:05 +08:00
@hafuhafu 那确实慢,我一般花 8-9 百毫秒
yEhwG10ZJa83067x
2021-07-06 09:07:54 +08:00
@akira
@LokiSharp
你们回答的有种莫名其妙的优越感,那么请教一下,为什么不能用?
我个人一开始用 SecureCRT,到 xshell,最后还是到开源的 WT,日常使用完全没有问题。
wms
2021-07-06 09:10:21 +08:00
@zhea55 复制粘贴一坨屎, 右键一坨屎, 选中一坨屎,新开标签页,目录都是默认的,而不是上一个 shell 的, 跟 Linux 下的终端比起来,差距还很大
LokiSharp
2021-07-06 09:12:43 +08:00
@justrand 等他夹带的私货删掉再说吧,比如标签默认的 1 2 3 4
cxshun
2021-07-06 09:33:44 +08:00
看了一下视频,确实差别有点大。
但话又说回来,屎山代码这是肯定的,毕竟微软的包袱那么大,10 年前的应用放到 windows 10 或 windows 11 上面照样跑,放到 osx 上,未必就可以。举个例子 proxifier,升级到 big sur 就搞得之前的用不了了。

要是 windows 能像 osx 一样,不用考虑那么多的兼容性,直接抛弃之前的,那我觉得挺好的,只是到时又有一堆人骂的了。

PS:我是 osx 和 windows 双修党,最近打算抛弃 mac 。
Cloutain
2021-07-06 09:35:54 +08:00
Windows11 中依然存在许多老代码老库,但是 Windows 强大的兼容性得以保证他在市场的地位。NT 内核的代码还是相当高水平的,学习操作系统主要看的是 NT 的代码,给了我不少启发。
lxrmido
2021-07-06 09:37:24 +08:00
最近我很后悔

mac 自动更新了 bug sur,pc 自动更新了 win11

我的生活从此充满了惊喜
keepeye
2021-07-06 09:40:10 +08:00
性能就算了,我一直期待的可以在命令执行过程中右键清屏或者快捷键清屏的功能一直没有,相关 issue 已经挂在那里几年了
cxe2v
2021-07-06 09:42:14 +08:00
感觉 V2 上互联网的码农比较多,接触代码的层面都在应用层吧,但凡多接触点深层次的,也不会认为 windows 是屎山,OS X 那种抛弃包袱的才是真正的屎山,这也是为什么工业商业上 windows 占比比 OS X 大得多的原因
pcmgr456
2021-07-06 09:42:58 +08:00
别问,问就兼容性好
dreamramon
2021-07-06 10:59:59 +08:00
@IgniteWhite 自从看到了这个之后,我已经从 iterm2 迁移到 kitty 1 年了,kitty 非常快。
YIsion
2021-07-06 11:00:22 +08:00
我曾经用 windows termianl 的定时关机命令把我的系统干掉了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/787595

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX