BigSur 自带中文输入法卡顿

2020-12-01 16:35:36 +08:00
 dwSun

MacBook Pro (13-inch, 2019, Four Thunderbolt 3 ports) bigsur 11.0.1

搜了一下,似乎就我出现了这个问题。

英文输入法没有任何问题,流畅的很,系统本身也流畅的很。但是只要某些地方输入中文就会卡,输入越多越卡。而且比较诡异的是每个 app 卡顿的程度还不太一样。

目前已知不会卡的只有 alfred 的输入框和启动台的搜索框。

最卡的是钉钉和微信的输入框,几乎不能用。

iTerm,系统自带终端,连系统设置里面的搜索框都卡。

edge 浏览器地址栏,safari 地址栏,vscode,appstore 搜索框,finder 搜索框,备忘录编辑,字典等等。

11700 次点击
所在节点    macOS
99 条回复
inhd
2020-12-01 16:39:46 +08:00
之前是 iOS 上自带输入法卡顿严重,现在 macOS 上也卡顿了么,我建议把库克解雇换个亚洲 CEO 🐶
dwSun
2020-12-01 16:42:22 +08:00
刚试了一下,装个 sogou,一摸一样的现象,没有任何区别,所以应该不是输入法的问题。
regothic
2020-12-01 16:45:20 +08:00
@dwSun 是的,升级 11 以后出现的问题,部分自带还是搜狗,而且尤其网页的输入框中卡顿尤其严重
jerommix
2020-12-01 16:59:51 +08:00
鼠须管用户 m1 MacBook Pro 正常。
dwSun
2020-12-01 17:00:10 +08:00
@regothic #3 没搜到相关的话题,还以为就我一个出问题了,不知道抹盘重装能不能解决。
Chyo
2020-12-01 17:03:32 +08:00
这么一说我才发现输入法真的有些卡顿,刚才在 word 里头写报告感觉输入法很不跟手,按退格键的频率都高了,还以为是今天状态不好。试了一下确实各个地方都有卡顿,可能和系统负载或者 GPU 负载有关?
dwSun
2020-12-01 17:03:41 +08:00
@jerommix #4 剛試過了,一模一樣的問題,沒有任何改善。
xeoyen
2020-12-01 17:08:30 +08:00
M1 MacBook Air, 自带输入法在微信跟浏览器等都不卡顿,但是 iMessage 输入中文就会卡顿,退出短信再打开卡顿消失。
dwSun
2020-12-01 17:09:52 +08:00
@Chyo #6 似乎相关性不大,系统负载很低,反而是输入中文的时候,cpu 利用率有一定的上升。
FW36
2020-12-01 17:14:11 +08:00
touch bar 上的输入法快捷选择,按➡️缩小不展示就可以解决卡顿问题
dwSun
2020-12-01 17:19:50 +08:00
另外,输入法的待选框会随着不同的应用变换颜色,微信中是白底蓝色,notes 中是黑底橙色,浏览器里是黑底蓝色,暂时没发现其他颜色。
dwSun
2020-12-01 17:21:22 +08:00
@FW36 #10 我的 touchbar 没有输入法设置,而且一般都是缩着的。
dwSun
2020-12-01 17:21:43 +08:00
@jerommix #4 请问鼠须管怎么卸载,没找到在哪里卸载
regothic
2020-12-01 17:32:15 +08:00
@dwSun 我是忍了,坐等系统更新吧,感觉有可能是系统的某个 corner bug
dwSun
2020-12-01 17:36:43 +08:00
@dwSun #13 找到了
zhaidoudou123
2020-12-01 17:39:01 +08:00
我一直到 Mojave 前一代都是卡的,卡了两年了,Mojave 不卡了,Catalina 也不卡,这回 Big Sur 又给我卡了
阿三真不是东西啊
Tsukee
2020-12-01 18:15:35 +08:00
我这里是切换到默认中文输入法会卡顿,用第三方的不卡
Amturing
2020-12-01 21:28:31 +08:00
imessage 输入中文卡到爆炸
minsheng
2020-12-01 21:59:41 +08:00
有一两个月没有处理中文输入法了,所以我的记忆不太准确:Catalyst 是有一组非常恶心的中文输入法 bug,我高度怀疑 Apple 负责这块的人走了。输入中文输入法的时候,Cocoa 会不断请求一段文字的第一个矩形(每一行可以看成一个矩形,如果一行只选中了一部分,那一部分也是一个单独的矩形),然后以此判断在哪里放置输入法的框框,避免遮挡文字,并且在输入到第二行的时候会自动开启输入框跟随模式。Catalyst 下,它们不再是按区间查询,而是一个 UTF16 的 code unit 查询,这有两个问题:

- 算法退化成 N^2 级。我们自己的 app 调试的时候就是,稍微长一点的输入,非常卡顿;
- 这个查询不尊重 UTF16 的 code point,而是两个字节两个字节的查,对付 Emoji 结果是错的。

Catalyst 的输入框放置也是有 bug 的,非常容易遮挡你输入的文字。还有一个 bug,它会非常自作多情的帮你 cache 文本位置查询结果,然后 cache 的位置本身又是错的,所以打起字来有的时候会有种输入框的位置比你打字的内容慢一拍的感觉。

我说的这是 Catalyst,我也报过错误了,显然没有人来修它。但是如果新写的 Catalyst 都这么垃圾,那我估计 AppKit 被改改,改出问题很正常……
minsheng
2020-12-01 22:00:11 +08:00
举个例子,@Amturing 提到的 iMessage 就是 Catalyst 写的,卡到爆炸不要太正常。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/731025

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX