先来说说我自己的环境吧,Windows11,Emacs30,比较卡顿。
主要体现在代码补全上,输入一个字符再回退后就卡顿,Windows11用了不到一个月,给我最大的感受就是卡!
我原本是vim用户,vim在win11都卡,powershell启动都卡
我现在有两个想法:一个是把emacs装到虚拟机环境上,把开发工具全部转到linux试试有没有好转,刚刚试了一下,装了个Ubuntu,预料之中,还是卡,更卡。
第二个想法就是,把emacs装到wsl2上,但是我不想用命令行版本的,询问各位大佬有没有什么解决办法。个人觉得方向会在优化系统设置上做文章比较多,甚至回滚到win10,说实话我用win10流畅极了。
我还看到过一个方案就是把emacs装docker里,有没有折腾过的老哥分享一下可行性和经验
另一个小问题是,eaf插件兼容Windows吗,我简单配了一下,浏览器打网页没反应。 
重器轻用吧, 不满意就不用它呗…
我在 Windows 10 用 Emacs 有两三年, 不过都是写小项目, 没感觉到卡
EAF 在 Windows 有点难以用起来, 还是不建议在 Windows 使用多依赖的包
我是在 wsl2 上用命令行版本 (emacs -nw),用着还好,但确实缺失一些 GUI 的功能,但写代码和文档足够了。
好像也有 wslg ?也许也能跑 GUI 版本的 Emacs。
1 个赞
iab
4
wsl2 emacs gui 很流畅啊,跟 linux 里用的一样
1 个赞
用wslg,使用Emacs很流畅没啥问题。不是必须要GUI直接用wsl2+Emacs TUI
1 个赞
今天在 Win 11 上重装了一遍 Emacs,Emacs 在新的 Windows 系统上首次启动的体验真是地狱一样,尤其是开了 native-comp。
我在工作电脑上使用 WSL + OpenSUSE + emacs 30。不用 ubuntu 的主要原因是包仓库太老,再加上不想自己编译,openSUSE 是滚动发行,包仓库够新,而且是官方提供 WSL 发行版,所以选择了 openSUSE。不想编译也可以使用 emacs-appimage
在 WSL 里面的体验是没有什么问题的,启动速度非常快,比我在 mac 上还快一点点 (0.24s vs 0.27s)
WSLg 的体验除了用不了 windows 输入法以外,没什么大问题。不需要任何配置, 就可以正常使用 GUI。
个人觉得 TUI 除了看不了图片,我觉得没有什么大问题。现在 emacs-31 tty 也支持 child-frame 了,lsp-bridge,corfu 啥的都能用了。
Eaf 我尝试过在 wsl 里面使用,失败了,主要原因我猜是因为 wsl 里没有正常的 window manager。没有精力去 debug,就作罢了。
WSL2 因为是 type-1 虚拟机,所以除了对图形性能要求较高的应用,或者需要访问 windows 文件系统,是不会有任何性能问题的,甚至因为没有 defender,性能会比原生 windows 还好。
4 个赞
我用scoop 安装的Emacs-kl,不编程只用org-mode,流畅度没问题
xxoo
10
emacs-kl是啥?我只看到:
>scoop search emacs
Results from local buckets...
Name Version Source Binaries
---- ------- ------ --------
emacs 30.1 extras
emax64-pdumper 20180619 extras runemacs.exe | emacs.exe | emacsclientw.exe | emacs-27.0.50.exe
我在win11 wsl2下用emacs gui,刚开始受不了WSLg的DPI适配问题,低分辨率下使用体验极差,后来找了半年终于发现解决方案
现在就用的十分舒适,清晰流畅 
3 个赞
我也在windows下使用emacs。没觉得卡。我的方法就是尽量用emacs自带的工具。wsl的方式我试过,感觉不好用,和windows原生的差别太大。
2 个赞
我也是研究比较了 wsl 决定不用的。趁着新换电脑的时候,专门建了开发驱动分区(参考 在 Windows 11 上设置开发驱动器 | Microsoft Learn ),把 scoop emacs 等装在那里,启动效果明显加速。win下速度慢应该就是病毒查杀的体系搞的。
1 个赞
我在Spacemacs里面实现了load-hints,使得Windows版本的Spacemacs/Emacs-30.1的速度基本可用。
另外还提到优化方法: * doc/FAQ.org: Document for optimizing Spacemacs startup by sunlin7 · Pull Request #16939 · syl20bnr/spacemacs · GitHub
目前在Windows11上Spacemacs/Emacs-30.1的启动速度是
353 packages loaded in 1.529s
一般使用python-lsp-server几乎感觉不到卡顿(大一些python也还是会有卡顿).
3 个赞
passky
16
最佳解决办法就是wsl2,如果想搞native开发,以下是我的一些个人经验。
-
IO问题用emacs-lsp-booster可以缓解,
-
核心问题是windows defender,建一个开发驱动分区/干脆关了。
-
emacs内部的话,查看post-command-hook变量,酌情关一些不用的minormode。
-
如果completion-style在用flex,在corfu单独用hotfuzz,并编译一个hotfuzz的动态模块。
-
其他一些变量设置,随机找个starterkit应该都有,比如下面这种。
(setq eglot-events-buffer-size 0 ); out-dated and we keep this for compability
( setq eglot-events-buffer-config (list :size 0 :format 'full))
(with-eval-after-load 'jsonrpc
(fset #'jsonrpc--log-event #'ignore))
我个人写中型项目是没啥问题的,大型项目卡也是lsp本身卡
1 个赞
问个问题,有双屏及以上,全屏使用wslg的Emacs的吗?我发现开启wsl下Emacs时,如果启动时不在我想要的屏幕上,屏幕间移动wslg窗口极其痛苦,用M-f10全屏的大小也只按最初显示的屏幕大小算。
我也是 Windows 11,每天都在用 Windows Emacs ,目前是自己编译的 Emacs 31.0.50,使用上感觉很流畅,在 corfu的弹窗速度方面我觉得比 Linux下的 pgtk 版本 Emacs 都要好。
至于启动方面,我这边 70个包,启动时间是 0.9 s 左右。当然是很多重的包是设置了 lazyload的,只保留了启动后马上要用的包(比如 vertico consult corfu)是在启动阶段就加载的。
1 个赞
Bono
20
WSLg ( WSL2 默认图形界面支持) 遇到坑的话 (主要是休眠后界面消失) , 可以试试在Windows下安装 VcXsrv 作为给 WSL2 GUI 程序用的 Xorg server 。 24年下半年之前还需要折腾端口转发什么的, 目前的 “WSL mirrored 网络模式” 下几乎是装好就能用了。