我使用的是 18.04 版,使用 i3,有时当我从某个工作区转到包含 Chromium 或 Opera 的工作区时,这些窗口不会重新绘制。我仍然可以按 打开ctrl+s
“保存到”弹出窗口,渲染效果很好。
这种行为相当奇怪,可能一天发生两次,我似乎找不到可靠的方法来重现它。以下是一些观察结果:
- 我认为我的 CPU 使用率通常为 20%+(根据
mpstat 2 1 | awk '$12 ~ /[0-9.]+/ { print 100 - $12"%" }'
),当它发生时 - 发生这种情况后,我无法使用
mod+q
(从 i3 退出窗口)、ctrl+q
(从 opera 退出),但我似乎可以运行ctrl+w
以退出选项卡,即使我没有立即看到它。当我重新打开 opera 时,该选项卡就消失了 - 我可以通过运行
fkill opera
或适当数量的pkill opera
- 大约一周前,我在 i3 上运行 ubuntu 16.04,但已经遇到了问题。我以为重新安装可能会有帮助,但事实并非如此。它运行了几天,但大约 3 天后,我又开始收到错误,所以也许是我安装的某个软件包破坏了它?
- Opera/Chromium 并不总是这样。大约 1-2 个月前开始出现这种情况
- 当出现渲染错误时,它仅显示先前工作区中占据这些像素的内容。
- 我仍然可以打开该工作区上的终端和其他窗口,它们会正常显示。如果我随后缩小或删除它们,该新窗口先前占用的像素现在将更改为这些窗口中的像素
- 鼠标光标没有留下痕迹
- 我认为这在其他资源密集型的窗口中也发生过,但我记不太清楚
我还没有设法隔离浏览器、i3 或其他软件包的条件和版本。据我所知,我正在运行所有软件包的最新稳定版本。
据我所知,这可能是驱动程序错误,也可能是某些软件包中的错误。我甚至不知道在哪里可以找到可能的日志
有什么建议吗?其他人也遇到过这种情况吗?我应该向 opera/chrome 报告吗?我还应该为 i3 提交错误报告吗?我很困惑
答案1
就我的情况而言,浏览器的 GPU 渲染器出了问题
显然,在发布问题并检查各种情况后又过了 2 个月,我仍然没有弄清楚为什么会发生这种情况,但我已经弄清楚了一旦发生这种情况如何解决它。
当你的某个基于 Chromium 的浏览器出现上述情况时,请在 、 或其他名称下查找进程,然后--type=gpu-process
将其终止opera
chromium
$ ps aux | grep opera | grep gpu-process
user 9736 1.8 1.4 613716 115176 ? Sl Jan09 26:35 /usr/lib/x86_64-linux-gnu/opera/opera --type=gpu-process --field-trial-handle=...
$ kill 9736
某些标签可能会受到影响并显示错误,但只需刷新它们即可使浏览器再次正常工作
答案2
尝试禁用硬件加速在 Chrome 中 →设置.这对我有用。