在mac上,打开emacs后,不显示minibuffer,此时通过菜单栏打开文件,滑动触摸板,会立刻异常退出。大佬们知道是什么原因吗?谢谢 macOS: Ventura 13.5.1 emacs:GNU Emacs 29.1 (emacs plus distribution) 跟着山人在一点点配置,所以没有加载过多的package。
我的出现过不显示mode line 但是不会重启,29 build from source
看一下 backtrace?崩溃是严重bug,可以向上游报告。
29.1的Mac版确实问题比较大,似乎升级了一次,但还是有一堆bug
macOS从master分支上编译最新的emacs代码,稳的一批。
确实稳,而且现在Emacs30支持对图片进行像素滚动,又多了一个用 master 分支的理由。
请问这个特性怎么开启?
在Emacs中打开 pixel-scroll-precision-mode
就可以了。
(use-package pixel-scroll
:config (pixel-scroll-precision-mode t))
mba的cpu太差,内存太少,怕cpu的压力大,没用过pixel级移动。
我用的是 2019的老 MBP,itel i9 CPU, 开启像素级滚动时确实会有较高的到CPU占用。
- macOS 下滚动图片时CPU占用最高会提高到 43%
- Windows 下滚动图片时有 8% 的 CPU占用
在mbp intel平台,用29.1和27对比测试,29.1性能非常差。
写了个脚本,emacs -Q启动,运行脚本打开同样四五十个c或者lisp文件然后关闭,29.1耗费时间基本是27的两倍,1.8倍左右。在linux平台上没这么大差别。
抽空再测试下30.
为啥我的体验正好相反呢
我体验也相反
Emacs30直接打开就可以对图片像素滚动了?
可以,紫薯布丁
我测试了十几遍,包括跟emacs 26, 27比较,包括自己编译的,还有https://emacsformacos.com/上面下载的。测试结果基本一致。你们可以自己测试下,比较简单。
昨天晚上又测试了下30, 跟29差不多。
emacs -Q, 然后粘贴下面脚本运行:
(progn
(setq enable-dir-local-variables nil
enable-local-variables nil)
(let* ((test-dir "~/source/emacs-git/lisp")
(file-list (directory-files test-dir t
"\\`[fw].*[.]el\\'" t))
(start-tm (current-time))
end-tm buf buf-list)
(dolist (test-file file-list)
(setq buf (find-file-noselect test-file))
(with-current-buffer buf
(goto-char (point-max)))
(setq buf-list (cons buf buf-list)))
(setq end-tm (current-time))
(dolist (buf buf-list)
(kill-buffer buf))
(let ((delta (time-subtract end-tm start-tm)))
(message "--- files: %d, delta: %s"
(length file-list) (float-time delta)))))
不知道你编译用的什么参数,我没有仔细测试。但是从个人体验来看,有native-comp和tree-sitter加持,打开和编辑文件流畅不少,如果用lsp体验就会更加明显。另外,启动速度也有所提升,尤其是在Windows下,mscOS/Linux下不明显。你的测试数据中有看gc时间吗?
编译一般-O2或者-O3, 这个因素已经排除了,因为用emacsformacos网站下载的29对比过了,结果基本一样。
我没有更多排查,因为现在mac不是主力机,mac上娱乐为主,偶尔开一下emacs. 日常使用体验ok就好。