惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
T
Threatpost
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园 - Franky
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
M
MIT News - Artificial intelligence
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
云风的 BLOG
云风的 BLOG
S
Security Affairs
P
Proofpoint News Feed
L
LINUX DO - 最新话题
宝玉的分享
宝玉的分享
S
Security @ Cisco Blogs
H
Hacker News: Front Page
Security Archives - TechRepublic
Security Archives - TechRepublic
Vercel News
Vercel News
Engineering at Meta
Engineering at Meta
Know Your Adversary
Know Your Adversary
Y
Y Combinator Blog
美团技术团队
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
月光博客
月光博客
量子位
博客园_首页
The Last Watchdog
The Last Watchdog
D
DataBreaches.Net
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed
The Register - Security
The Register - Security
Schneier on Security
Schneier on Security
H
Help Net Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
F
Full Disclosure
C
Cyber Attacks, Cyber Crime and Cyber Security
MyScale Blog
MyScale Blog
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
L
Lohrmann on Cybersecurity
S
Secure Thoughts
Stack Overflow Blog
Stack Overflow Blog
Cloudbric
Cloudbric
Microsoft Security Blog
Microsoft Security Blog

编辑器

vim 真的好用吗? - V2EX GNU nano for Windows - V2EX 佛了, webstrom 2026.1 直接给电脑干崩了 - V2EX 系统里还有必要保留一个 vscode 么? - V2EX Java 程序员使用 VsCode,感觉好别扭 - V2EX 请教,什么 IDE 看内核代码比较好?能否满足以下需求? - V2EX 请推荐编辑器&终端浅色主题配色 - V2EX zed editor for windows - V2EX neovim 的最佳实践 - V2EX 首场 Trae Meetup, 国产 AI IDE 有着不一样的思路 - V2EX windsurf 为什么这个月多扣了 1 刀不知道为啥, plan 里的用量还能用超吗? - V2EX JetBrains Mono 连字符导致 VSCode 括号着色不正确,能否禁用特定连字符? - V2EX 随着屏幕的增大,还在限制或建议每行 80 个字符是否还合理? - V2EX windsurf 是不打算恢复了吗 - V2EX Windows 求推荐能秒开的纯文本编辑器 - V2EX zed 在 windows 下有人用吗 - V2EX 有什么 Panic Nova 推荐的插件吗? - V2EX 请问下 Zed 编辑器右侧区域是什么意思? - V2EX Windows 如何在终端或 VSCode 等代码编辑器中,快速删除一个单词或一整行? - V2EX 大家都是怎么用 neovim 的, 有好用的 gui 吗 - V2EX 建一个英文站编辑器用哪一款较好? - V2EX 10 年后, IntelliJ IDEA 在 Linux 上中文输入法不跟随光标的 bug 终于被官方修复了 - V2EX 有没有 VSCode/jetbrain/xcode 统一的快捷键方案? - V2EX 代码编辑器如 idea 或者是 vscode,有没有办法在编辑 markdown 导入截图的时候,能够直接 ctrl v 解决? - V2EX win 平台有什么轻量文本编辑器能替代 sublime - V2EX 主流富文本编辑器对比, TinyMCE、CKEditor、wangeditor 哪个更强? - V2EX codespace 上应该如何正确配置 c++ - V2EX Visual Studio 的 Android SDK Manager 问题 - V2EX 更改 mac 下所有文件格式的默认 editor - V2EX 从 Word Ctrl+A 复制全文,粘贴到网页端富文本怎么保留图片 - V2EX idea 鼠标自动移动到确认按钮上 - V2EX 分享一个 tinymce 附件上传插件,大家可以一起来看一下 - V2EX 朋友们,平时写 JS 用什么编辑器呀? sublime text 国内安装插件老是失败。。 - V2EX 在 Visual Studio 中,如何用快捷键将新项目添加到当前解决方案? - V2EX 话说 UltraEdit 的中文特价版是永久的吗? - V2EX 你在用 webstorm 还是 vscode? - V2EX VS Code 现在相对于 jetbrains 系列现在是不是就只有启动速度有优势了? - V2EX 求 editplus 的 markdown 配置文件 - V2EX 有什么 vscode 插件可以检查 sql 语法吗? - V2EX 登录 shell 是 zsh,但是在 vscode 和 idea 的终端里面 echo $SHELL 显示的是 bash, iterm2 里面显示 zsh,这个是因为什么原因呢 - V2EX jetbrains 全家桶可以多个人同时用吗 - V2EX [求推荐]可视化的 html 编辑器,可导出 html 源码的在线或者本地应用。 - V2EX Theme Boxy 为什么被 Sublime text 3 删除? - V2EX 七款编辑器/笔记工具推荐 - V2EX vscode live share 是不是就像星际一样做主机拉人? - V2EX jetbrains 被墙了吗? - V2EX 有道云笔记分享笔记会泄露隐私? - V2EX win 系统下用什么大文本处理工具方便呢? - V2EX 做个小统计,开发用 WebStorm 的老哥多还是 VS code 的老哥多。 - V2EX Web 富文本编辑器 Neditor 2.1.6 发布,优化上传逻辑 - V2EX
未来最牛编辑器 zed 的 Linux 版终于出来了 - V2EX
june4 · 2024-07-11 · via 编辑器
kuanat

37

kuanat      2024 年 7 月 12 日   ❤️ 23

我这里简单就 Zed 官网宣传的一些特性简单做个总结,同时与 VS Code 对应的部分做个对比。

1. 输入延迟

Zed 在性能方面有个对比,强调的是 Insertion latency ,58ms 相对 VS Code 97ms 算是非常优秀了。这个测试反映的是输入状态下按下按键,到字符出现在屏幕上的时间,如果你玩游戏的话,很容易理解这个就是所谓的输入延迟。

你可能觉得 40ms 影响不大,但这个特性属于有对比才有伤害、或者说像高刷屏用了就回不去那种。不仅仅是在文本编辑器领域,像终端( vte )领域一样对于输入延迟有追求,所以你会看到像 kitty/alacritty 这样通过 GPU 加速绘制的终端模拟器。再比如很多人会觉得 oh-my-zsh 之类的框架会拖慢 shell 的启动,考虑换成 fish 之类作为替代。

2. 渲染模式

也许你会认为 Zed 渲染快延迟小是得益于原生应用相对于 electron 的优势,是有这方面的原因,但是不够全面。同样是输入延迟部分,Sublime Text 4 大概是 75ms ,可以粗略的认为,Sublime 相对 VS Code 的优势来源于原生,但 Zed 相对于 Sublime 的优势有一部分是来自于渲染模式。

包括各种终端模拟器在内的应用,所谓的 GPU 加速更多的是使用 immediate 模式,相对于 retained 模式。前者就是把应用当作 3D 游戏,自己负责渲染每一帧。后者就是一般意义上的原生应用,使用系统控件,只有在状态发生变化时才通知系统,由系统负责渲染。

Zed 使用的是 Vulkan 后端,其 UI 界面就是基于 immediate 模式自渲染的。(技术上说,应用 GPU 加速通常更快,但不总是更快,这一点放到后面说)

3. 语法分析

如果增加一个 Deletion latency 的测试,我相信 Zed 会胜出更多的。原因是无论插入还是删除,后台都要做语法分析,从而提供高亮、补全等等功能。删除相比插入更能反应语法分析器的性能,特别是跨多行或者代码存在语法错误的时候。

Zed 的开发团队的前身就是做 Atom 的团队,而 Atom 当年之所以有底气做编辑器,是因为他们写了 Tree-sitter 这个通用的 parser 生成器。现在 Tree-sitter 是事实上最通用、也是效率最高的语法解析器的“生成器”。不是 parser 而是 parser 的生成器,这一点尤为重要。

在 Tree-sitter 之前,通用的语法解析主要是 TextMate 的,后续包括 VS Code 在内也都沿用了下来。连 VS Code 的开发都说,用 TextMate 这套的原因就是不用为每一门语言都写规则,然后他们也发现很多语言的规则都多年没人维护了。当初 TextMate 设计这个功能的时候想的是,尽可能在不用写 parser 的情况下完成 parser 的主要功能,所以实现方式是正则匹配。放到二十年后的今天来看,这个做法就跟不上时代了。

一方面现在的性能和软件实践来说,写 parser 和实时处理都相对简化了,既然都能完整实现和运行 parser 了,那就没必要用弱化版的了。另一方面,基于正则的弱 parser 实现只能处理一行,也不能支持像是“增量”处理,或者在代码被修改乱了,存在语法错误的时候还能正确输出尽可能有用的信息。

我个人认为,Tree-sitter 在这方面对于写代码的改善是非常明显的,不仅速度快结果还准确,特别是错误状态下依然有用这点十分好用。想要尝试的话可以用 neovim 或者其他基于 Tree-sitter 的编辑器感受一下。

4. 协同

现在没有什么编辑器能做到像 VS Code 的 Remote 功能一样彻底颠覆开发的工作流。即便 JetBrains 这样也算财大气粗的专业开发,照着现有的方案模仿都做得一塌糊涂。所以也不要对 Zed 有什么不切实际的期待。

Zed 目前能做到的是还是本机做 host ,然后可以编辑 remote 的文件而已,对用户隐藏了拉取和推送文件的细节。

所以 Zed 就专注做了协同功能,在本地编辑器上实现了多人实时编辑同一文档的在线编辑器体验。这个功能基于 CRDT 思路,有兴趣可以去看看。

关于“GPU 渲染为什么不会总是更快”这个说法的解释:

一般来说,GPU 渲染会更快一点,但就文本编辑器(或者终端 vte )这个场景来说,GPU 渲染不一定比 CPU 更快。这是因为 GPU 更快是建立在全渲染的前提之上的,而文本编辑这个场景很多时间并不需要全渲染。

比如输入的时候,发生变化的一般只有当前行。浏览代码的时候,代码内容不变只是显示位置变了。这样的场景里,使用 damage tracking 类算法,就是类似 vnc/xdp 那种检测改变部分的算法,可以极大降低渲染的工作量。以游戏渲染的思路来看,无非就是 framebuffer 的手动控制更新。

所以我个人并不喜欢使用 GPU 渲染的文本编辑器或者终端模拟器。当然,如果它像浏览器那样,将字体渲染过程中的处理交由 GPU 完成,我还是很支持的。

maix27

99

maix27      2025 年 3 月 17 日

@june4 你也知道抢生态,那你举个 vim 出来干嘛呢? electron 有人喊打和有人喜欢冲突吗? 给你的选择那么多,同时兼顾的也就 vsc 了。你非要说是史上雕花,mac/win 史上雕花雕了 20 ~ 30 年了,有一个能成事的吗,微软为什么能成,就是它史上雕花也能雕的大部分用户开心,时不时还能来个花活,vs 史上雕花也雕了 20 多年,不雕出了宇宙 IDE 的活?雕花也看怎么雕,让你也拿 js 雕 咋你雕的 atom 死了呢?雕死了指望换一种语言换一种平台来雕,雕呗,没人拦你,你别到处拱火就行。