fcitx.el icon indicating copy to clipboard operation
fcitx.el copied to clipboard

Windows 系统 `C-x` 开头的快捷键严重拖慢

Open et2010 opened this issue 6 years ago • 10 comments

使用 C-x, C-c 等快捷键时停止响应,有时需要杀掉 emacs

https://emacs-china.org/t/topic/6022

et2010 avatar Jun 04 '18 15:06 et2010

是用的 fcitx-remote-for-windows 吗?我只有 Win 10 + Emacs 26,没有发现有这个现象。能贴一下 Emacs 的 stacktrace 吗?

cute-jumper avatar Jun 09 '18 08:06 cute-jumper

是 fcitx-remote-for-windows,我用的win 8.1 和 emacs 27,没有 backtrace,没有出错信息,有的时候直接死掉了,只能结束进程。我觉得不是 emacs 版本的问题,不知道哪里出了问题,从 cmd 运行 fcitx.exe 是没有问题的,可以正常显示 1 和 2.

et2010 avatar Jun 09 '18 15:06 et2010

我无法重现 bug,没法调试。你可以试试 edebug fcitx--prefix-keys-maybe-activate/deactivate,或者 fcitx--prefix-keys-polling-function(同时把 fcitx--prefix-keys-polling-function 设置成大一些的数值便于调试)。

cute-jumper avatar Jun 09 '18 18:06 cute-jumper

我又重新下载 fcitx-remote,但是现在用 cmd 也运行不了了,之前还会提示缺少哪个 dll,现在没有提示了直接报错。运行 fcitx-remote 需要安装哪些依赖呢?

或者不是依赖的原因

image

et2010 avatar Jun 10 '18 04:06 et2010

如果你有 Visual Studio 的话可以调试一下,代码实在太简单,应该没有啥依赖。我这边重现不了帮不上了。。

cute-jumper avatar Jun 10 '18 20:06 cute-jumper

我重新编译了一下,fcitx-remote 现在能用了。但是原来的症状还是存在。

edebug fcitx--prefix-keys-polling-function 然后问题症状就消失了,一旦不是 edebug 的症状就回来。这有点难办了,而且开启 edebug 后的一个 side effect 是 eldoc 不再显示了。不知道和这个 bug 有没有关系。

能不能再帮我提供一些线索,现在知道的这些 debug 起来比较困难。并且我没有 debug c++ 程序的经验,elisp也只是知道点皮毛。 先谢谢您了

我录了一段,可以看到 fcitx-remote 进程不断产生,不断被结束,导致 emacs 停止响应,这是什么情况?

test2

et2010 avatar Jun 26 '18 14:06 et2010

我暂时把 prefix 功能关闭了,这样问题得到了暂时的解决。

et2010 avatar Jun 26 '18 20:06 et2010

我录了一段,可以看到 fcitx-remote 进程不断产生,不断被结束,导致 emacs 停止响应,这是什么情况?

的确如此,prefix 这个功能的原理就是不停查询,所以会有进程一直产生。在你的系统上大概这么做代价比较大。也解释了为啥 debug 的时候没问题了,因为间隔时间变大了,所以不会卡住。

我暂时把 prefix 功能关闭了,这样问题得到了暂时的解决。

大概只能这样,或者你把时间间隔调大一些。

cute-jumper avatar Jun 27 '18 03:06 cute-jumper

谢谢您的帮助

et2010 avatar Jun 27 '18 05:06 et2010

也是windows,也有同样的问题.在按 C-x C-c 时候会不断的切换输入法的状态.

xx299x avatar Aug 17 '19 14:08 xx299x