rime / weasel

【小狼毫】Rime for Windows
https://rime.im
GNU General Public License v3.0
4.17k stars 528 forks source link

使用外接屏时在浏览器内输入时,内容以及候选框会有延迟 #1278

Closed perthonBalans closed 1 month ago

perthonBalans commented 1 month ago

上报前请检查

操作系统信息

描述遇到的问题 中文输入模式下,在浏览器(包括 Edge 和 Chrome )中输入会调出候选框的内容时(即排除u开头等不会有候选框的情况),候选框和输入的内容相较于其他软件会有明显延迟。

此问题只发生在我的外接屏上,如果使用笔电自带的屏幕,则没有此问题。注意到我笔电没有独显直连,所以内置屏使用核显,而外接屏使用独显(NVIDIA);所以我尝试通过 Windows 设置浏览器只使用某一显卡,发现如果强制它们使用独显,则延迟会明显降低,接近不可察觉,但与自带屏幕相比仍有细微差距。

复现步骤

  1. 在外接屏打开 Edge 或 Chrome
  2. 输入任意会调出候选框的内容,如 "a"
  3. 注意到候选框以及输入的内容会有明显延迟

预期行为 如同在其他软件界面一样无可感知的卡顿。

用户文件 weasel.zip

截图 因为延迟是以键盘输入为零点,所以动图很难描述。但是由于输入内容也会卡顿,所以可以尝试注意输入时跳出几个字符:可以明显发现,与微软自带的输入法相比,小狼毫会同时出现若干个字符,意味着前几个字符在显示中出现了延迟。

Chrome 延迟相对较低,难以用动图表示,所以就不展示了

在外接屏上 msedge_hbUwFQrSSk

在内置屏上 msedge_LSnXH0PvS2

其他补充说明

fxliang commented 1 month ago

试下nightly?最近修了个外接高DPI屏的性能问题,可能有关系

perthonBalans commented 1 month ago

最新的 1d44e29 没有外接屏卡顿的问题了,但是似乎暴露出被这个问题掩盖的一个问题:打开浏览器后首次用小狼毫输入会有一下延迟,即使在那之前可能已经用其它输入法输入了。此延迟在内置屏幕和外接屏都可复现;并且只有首次会有延迟,此后都不会再有,直到重新打开窗口。

*我是否需要关闭此 issue,然后重新开一个 issue。

mirtlebot commented 1 month ago

之前碰到过,是配置问题,首次延迟是因为用首字母对应的候选太多了。特别是词库有问题的情况下(例如 script_translator 里面搀杂大量非正常音节,导致某字母对应过多的音节)。据说简拼也可能会导致这个问题,不用所以没复现过。

perthonBalans commented 1 month ago

之前碰到过,是配置问题,首次延迟是因为用首字母对应的候选太多了。特别是词库有问题的情况下(例如 script_translator 里面搀杂大量非正常音节,导致某字母对应过多的音节)。据说简拼也可能会导致这个问题,不用所以没复现过。

如果是对应词太多的话,后续每次拉出窗口都应该都会首次延迟吧。但是这里问题是只有其它软件第一次打开时会这样,而且这个额外延迟时常具有明显的软件特异性,目测额外延迟是:Edge ~ 微信 >> Chrome >> 有道词典 ~ Typora ~ Obsidian ~ 0 > VS code = 滴答清单 = Listary = OneNote = 0(也有可能是不同软件性能的问题?)。苦于没有方式记录键盘指令以及窗口出现时间(估计是毫秒级),没法准确测量差别。

mirtlebot commented 1 month ago

不懂,我提的是证实存在的卡顿问题。因为你的描述之前有点宽泛,也没法附上什么方案详细。我只是猜测

音节卡顿: https://github.com/rime/home/issues/762

如果是某些软件卡,可能是另外的原因。有相关的 issue

https://github.com/rime/weasel/issues/1247 https://github.com/rime/weasel/issues/1183 https://github.com/rime/weasel/issues/986

这个偏离主题了。