我在使用 Unity 更改窗口焦点时遇到了奇怪的性能问题。无论我打开了哪些应用程序组合,都会发生这种情况,但应用程序越多(无论是终端窗口还是 Chromium 窗口)情况就越糟。
例如,如果我用 gedit 编辑文本文件,然后单击 Chromium,则实际需要整整一秒钟才能切换焦点(反之亦然,因此我无法立即开始输入)。在切换窗口时在 term 中运行“top”显示 Xorg 使用 ~50% 的 CPU,而 compiz 将使用 ~10%。
我正在运行带有 GTX 1070 的 i5-4670。我正在使用 378.13 Nvidia 驱动程序和英特尔处理器微码固件。Ubuntu 16.04.2。
有人遇到过这种情况并找到了解决方案吗?谢谢!
更新:如下所示,我尝试禁用 intel_pstate 并更改为性能调节器。我还尝试了单显示器配置以及 Unity 的低图形模式。不幸的是,这些都失败了。
答案1
我也在 16.04 上使用 i5-4460 和 GTX 960 在 32 位系统上看到这个问题(别问!)我没有在 nouveau 驱动程序中看到它,但在 NVidia 专有驱动程序中我看到了它(我已经测试过所有版本,最高到 381.13)。
虽然这不是一个合适的解决方案,但使用重新启动 unityunity --replace
似乎可以解决该会话的问题。(如果第一次不起作用,您可能需要再试一次。)
这可能与bugs.launchpad.net/ubuntu/+source/unity/+bug/1300892。如果您认为该错误影响到您,请单击顶部的“该错误影响到我”,这样维护人员就可以清楚地了解该错误影响了多少人,因为该错误目前被归类为低优先级错误。
编辑:看来,将命令添加/usr/bin/unity --replace
到“启动应用程序”确实可以作为一个笨拙但不太临时的解决方法。:)
答案2
我最近在更新和升级后遇到了类似的问题。对我来说,这个问题与 CPU 时钟速度有关。你可以试试这个。
- 禁用 intel_psate。您可以通过修改
/etc/default/grub
并向行添加intel_pstate=disable
参数来实现此GRUB_CMDLINE_LINUX_DEFAULT
目的。它应该看起来像这样:GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash intel_pstate=disable"
。 - 然后保存文件并运行
sudo update-grub
。 - 安装 cpufrequtils 包:
sudo apt-get install cpufrequtils
。编辑/etc/init.d/cpufrequtils
文件并将以下行设置为您需要的调节器(在我的情况下是性能):GOVERNOR=”performance”
- 重启
这是针对英特尔处理器的特定硬件解决方案。