V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mikelirjc
V2EX  ›  Apple

一个暂时缓解 Apple 中文输入发卡顿的办法(权宜之计)

  •  
  •   mikelirjc · 176 天前 · 2272 次点击
    这是一个创建于 176 天前的主题,其中的信息可能已经有所发展或是发生改变。
    忘记了从哪个版本系统开始 Apple 中文输入法开始卡顿了
    从原生卡顿换成 Rime 愉快用了很长一段时间
    又是不知从哪个版本开始卡顿了
    一直从输入法和系统方面找原因
    什么系统重启
    什么 Rime 重启
    都试过但是过一段时间又开始卡顿

    前段时间偶然发现输入法卡顿严重的程序退出重启后就不卡顿了
    各位无法彻底解决中文输入法卡顿的小伙伴可以试试
    重启卡顿的应用软件
    这个方法本质跟系统重启差不多
    只是比系统重启简单快速便捷
    第 1 条附言  ·  176 天前
    我用的的是 Rime
    回复里面的脚本都试了
    还是不能解决 Rime 卡顿问题
    最后还是重启使用 Rime 卡顿的 App 解决问题
    29 条回复    2023-11-04 15:40:36 +08:00
    Mikawa
        1
    Mikawa  
       176 天前
    #!/bin/zsh

    # 获取所有带有"Simplified Chinese Input Method"的进程,并过滤掉脚本本身
    processes=$(ps aux | grep "[S]CIM.app" | grep -v "$0")

    # 从进程信息中提取 PID
    pids=$(echo "$processes" | awk '{print $2}')

    # 循环处理每个 PID
    while IFS= read -r pid; do
    if [[ $pid =~ ^[0-9]+$ ]]; then
    echo "Terminating process with PID: $pid"
    kill -9 "$pid" # 强制结束进程
    else
    echo "Invalid PID: $pid"
    fi
    done <<<"$pids"
    mikelirjc
        2
    mikelirjc  
    OP
       176 天前
    @Mikawa 这是一键处理所有程序,简单粗暴!但是有个问题,中文输入法卡顿不是所有软件都卡顿,基本是再后台运行时间过长的软件会卡顿...... 这可能跟我喜欢把程序丢后台有关把!尤其是用 macOS 系统,下次一定要搞个 96G 以上内存的直接丢后台
    Mikawa
        3
    Mikawa  
       176 天前
    @Mikawa 用 Apple Script 包裹这个脚本,变成一个 App ,在卡的时候点一下
    mikelirjc
        4
    mikelirjc  
    OP
       176 天前
    @Mikawa 你这个脚本是把所有调用中文输入法的程序都杀了,那还的一个个地打开啊😭
    LabJo
        5
    LabJo  
       176 天前
    快捷指令->shell 脚本->kill -9 $(pgrep SCIM),生成个快捷图标放程序坞,点一下就执行
    Mikawa
        6
    Mikawa  
       176 天前
    @mikelirjc #4 你跑一下试试...只是 Kill SCIM
    vacuitym
        7
    vacuitym  
       176 天前
    不用这么麻烦吧,直接杀掉输入法进程就可以,他会自动启动的:
    ps -ef|grep SCIM_Extension |grep -v "grep"|awk '{print $2}'|xargs sudo kill -9
    DOMO
        8
    DOMO  
       176 天前
    好像是从 Ventura 开始的,Sonoma 现在最新版还没解决么
    zero3412
        9
    zero3412  
       176 天前
    我的输入法卡顿主要是在 Chrome 中,它有个啥预加载,关掉就好了,非常难得会有那么一两次卡顿。
    cwbsw
        10
    cwbsw  
       176 天前
    不用 Chrome 相关应用就解决了,当然这在如今这年头也是挺难的。
    parthenon2007
        11
    parthenon2007  
       176 天前
    苹果用户是真的难。
    Ga2en
        12
    Ga2en  
       176 天前
    你们到底为什么会卡

    我就在 ventura beta 的时候卡过两个版本,之后从来没卡过
    wclebb
        13
    wclebb  
       176 天前
    不太现实(正在生产几天的软件你说重启就重启?),直接杀输入法就好了。
    Accelerator03
        14
    Accelerator03  
       176 天前
    之前使用 Intel 芯片的 mac 会有这种问题, 自从换成了 Apple Silicon 之后就没再出现过了, 不知道是不是 Apple 对 macOS 做了负优化...😂
    Lenic
        15
    Lenic  
       176 天前
    不知道高内存的 M 芯片有没有卡的,比如 32G 或者 64G 。

    我在 V 站看了好多了,从各种描述上来讲,可能大多数是 16G 的用户才出现问题。

    我自己出现卡顿大多数情况是是在内存变黄了的时候,那个时候会有硬盘交互,相比起内存来会慢很多,我在想会不会是这个原因导致的?你们再次出现卡顿的时候,看看内存占用是不是变黄了,极大概率是这种时候发生的。

    再进一步,内存变黄了,后面再次变绿,有可能卡顿还会发生,因为输入法的内存存放在硬盘后,不会轻易取出来,所以后面变绿后可能还会卡顿;

    此时调用上面的命令杀掉输入法进程,那块放在硬盘的内存就废弃了,新打开的程序,肯定是放在真正地内存中的,所以速度又恢复了。

    当然,这只是我对这个 Bug 思考的过程,不一定对,大家可以把自己的情况说出来,这样或许,我说的是或许,或许能真正定位这个 Bug 的问题来源。
    pc10300
        16
    pc10300  
       176 天前
    @Accelerator03 现在有点搞不清楚,公司的 M2 16G 也会卡,但是家里的 M2 Max 32G 不会卡
    liprais
        17
    liprais  
       176 天前
    我的三台 m 系列都没卡过,遇到卡的试试看打完字就切换回英文试试
    Leonard
        18
    Leonard  
       176 天前 via iPhone
    @Accelerator03 Apple Silicon 一样有,可能只是你还没遇到而已
    YaD2x
        19
    YaD2x  
       176 天前 via iPhone
    用了 2 年 m1 不知道你们说的卡顿是啥,自带输入法挺流畅的
    GabrielleBellamy
        20
    GabrielleBellamy  
       176 天前
    @Lenic 我觉得有道理,我就是 16GB 的,然后我在不使用自带中文输入法的情况下也遇到过,而往往是伴随高强度工作,尤其是窗口不停切换,特别是开了台前调度的时候,显示桌面的动画非常容易卡住所有进程。所以我觉得也有可能是任何一个系统进程被卡住导致的,不一定是输入法,台前调度或者动画 UI 都可能。
    ybz
        21
    ybz  
       176 天前
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Label</key>
    <string>com.xxx.killKeyboardCN</string>
    <key>ProgramArguments</key>
    <array>
    <string>/bin/bash</string>
    <string>/xxx/kill_zh-hans-cn.sh</string>
    </array>
    <key>StartCalendarInterval</key>
    <array>
    <dict>
    <key>Hour</key>
    <integer>9</integer>
    </dict>
    <dict>
    <key>Hour</key>
    <integer>13</integer>
    </dict>
    </array>
    <key>StandardErrorPath</key>
    <string>/dev/null</string>
    <key>StandardOutPath</key>
    <string>/dev/null</string>
    </dict>
    </plist>
    放到/Users/xxx/Library/LaunchAgents/ 文件夹下,launchctl bootstrap /Users/xxx/Library/LaunchAgents/xx.plist 。每天早上和中午上班前会自动执行一次 kill_zh-hans-cn.sh
    kill_zh-hans-cn.sh 内容:
    #!/bin/bash

    process_ids=$(ps aux | grep -i 'zh-Hans-CN' | grep -v 'grep' | awk '{print $2}')

    for pid in $process_ids; do
    echo "Killing process ID: $pid"
    kill -9 $pid
    done
    就再也没卡死过了
    Natsuno
        22
    Natsuno  
       176 天前
    我用的搜狗输入法也没遇到过卡顿的问题,M1 air 一直用到今天
    buludu
        23
    buludu  
       176 天前
    我 32G 的 M1Pro 也卡的,任务栏常驻啥 SCIM 的快捷指令
    @Lenic
    @GabrielleBellamy
    iamdlsdls
        24
    iamdlsdls  
       176 天前
    有 touchbar 吗?把触控栏输入建议关掉看看
    daveh
        25
    daveh  
       176 天前 via iPhone
    @parthenon2007 #11 我有 Windows 10 和 Windows 11 机器,其中有机器用微软拼音输入法,在 Word 中输入中文时,直接蹦字母进去,中文反而卡得不见了。
    你是不也要说 Windows 用户很难?
    holmesx
        26
    holmesx  
       176 天前
    用原生的输入法一直没有遇到卡顿。。。。
    justaname
        27
    justaname  
       176 天前
    @Lenic 一样卡,64G 内存,内存压力是绿的也会卡的
    LayneZhao
        28
    LayneZhao  
       176 天前
    0 */3 * * * kill -9 `pgrep SCIM`
    parthenon2007
        29
    parthenon2007  
       175 天前
    @daveh #24 哈哈,Windows 用户也难,我现在升级 Windows 也比较谨慎。但有一说一,个人觉得 Windows 自带的输入法比 macOS 输入法好用啊。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1152 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:01 · PVG 02:01 · LAX 11:01 · JFK 14:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.