Xorg:移动鼠标 (Ubuntu 18.04) 上的高 CPU 使用率 (94%)

Zep*_*hyr 11 xfce mouse xorg cpu-load 18.04

每当我移动鼠标足够多时,它都会导致 CPU 使用率过高。提供的屏幕截图是在新的 X 会话中。

Xorg 占用大量 CPU

如果我正在运行一些其他程序(例如游戏),这也会导致一些频繁的冻结。

[1075299.085] (II) event4  - Corsair Corsair Vengeance M90 Mouse: SYN_DROPPED event - some input events have been lost.
[1077813.434] (II) event4  - Corsair Corsair Vengeance M90 Mouse: SYN_DROPPED event - some input events have been lost.
[1077814.079] (II) event4  - Corsair Corsair Vengeance M90 Mouse: SYN_DROPPED event - some input events have been lost.
[1077814.246] (II) event4  - Corsair Corsair Vengeance M90 Mouse: SYN_DROPPED event - some input events have been lost.
[1077814.682] (II) event4  - Corsair Corsair Vengeance M90 Mouse: SYN_DROPPED event - some input events have been lost.
[1077831.975] (EE) client bug: timer event4 debounce: offset negative (-18ms)
[1077831.975] (II) event4  - Corsair Corsair Vengeance M90 Mouse: SYN_DROPPED event - some input events have been lost.
[1077831.975] (II) event4  - Corsair Corsair Vengeance M90 Mouse: WARNING: log rate limit exceeded (5 msgs per 30000ms). Discarding future messages.
[1120008.128] (II) event4  - Corsair Corsair Vengeance M90 Mouse: SYN_DROPPED event - some input events have been lost.
Run Code Online (Sandbox Code Playgroud)

有什么办法可以让 CPU 使用率不那么高?

编辑:

我用其他老鼠试过。CPU 使用率似乎随着鼠标 DPI 的增加而增加,或者确切地说,通用鼠标会导致 CPU 使用率飙升,但不会像游戏鼠标那样多。

我还检查了是否启用了硬件加速。

$ glxinfo | grep "direct rendering"
direct rendering: Yes
Run Code Online (Sandbox Code Playgroud)

编辑2:

CPU 是 AMD FX-6350

GPU 是 AMD RX Vega 56

小智 5

您可以尝试更改usbhid内核模块上的鼠标轮询率参数。您可以通过以超级用户身份运行来即时修改其值

echo "4" > /sys/module/usbhid/parameters/mousepoll
Run Code Online (Sandbox Code Playgroud)

这会将轮询率从默认值 0(即“无限制”)更改为 4 ms(或 250 Hz)。

注意:之后您必须重新插入鼠标才能看到任何效果。

如果有帮助,您可以通过将参数附加到行GRUB_CMDLINE_LINUX_DEFAULT中来使此更改永久化/etc/default/grub,如下所示

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbhid.mousepoll=4"                                                                                                      
Run Code Online (Sandbox Code Playgroud)

然后运行

update-grub 
Run Code Online (Sandbox Code Playgroud)

reboot 
Run Code Online (Sandbox Code Playgroud)

  • 就我而言,高 CPU 使用率保持不变。我重新插上鼠标。 (3认同)