问题描述
我在 Ubuntu 12.10 64 上使用谷歌浏览器时遇到问题。
在大约 20-30% 的网站上,页面出现并开始 “flickering”。似乎在不同的缓冲区中对页面进行了不同或部分渲染,并且页面每秒在两个屏幕缓冲区之间交换几次,导致不同图像的一种癫痫性闪烁。
当页面处于这种闪烁状态时,我也无法滚动页面,任何滚动尝试都会导致页面在下一次闪烁时再次回到顶部。
如果这意味着什么,我正在使用 fglrx 驱动程序:
$ fglrxinfo
display: :0 screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: AMD Radeon HD 7900 Series
OpenGL version string: 4.2.12002 Compatibility Profile Context 8.961
Chrome 版本是:
Google Chrome 25.0.1364.172 (Official Build 187217)
有任何想法吗?
最佳方案
这是 ATI/AMD 显卡和合成的一个已知问题。
对于某些使用 –blacklist-accelerated-compositing 参数启动 Chrome 的人来说会带来一些帮助。其他人报告说 –disable-gpu 参数有帮助。
参见 http://code.google.com/p/chromium/issues/detail?id=136054
据我所知,唯一真正的解决方法是切换到 Nvidia 或 Intel GPU。添加像上面那样的参数会降低性能并禁用某些需要合成的功能。要检查 Chrome 的 GPU 事务状态,请访问 chrome://gpu
次佳方案
一个月后重新访问此页面,问题是未启用硬件加速。这在 HTML5 视频中也很明显!
转到 chrome://flags
寻找\u201cOverride Software Rendering List\u201d,即在不受支持的硬件上启用 GPU 加速并启用它。重新启动 Chrome(如果您在栏的顶部运行,请关闭后台进程)并查看它是否适合您。
阅读更多 here。
第三种方案
您可以尝试使用 --disable-gpu
启动 chrome。
参考:https://code.google.com/p/chromium/issues/detail?id=136054
第四种方案
这个解决方案与@jox 的回答非常相似(关闭 GPU 支持为我解决了这个问题),但如果有人对如何执行此操作感到好奇,您可以简单地转到设置 -> “显示高级设置…” ->系统并取消选中“可用时使用硬件加速”
我在 Chromium 45.0.2454.85 上使用 Ubuntu 15.04 和来自 Ubuntu 存储库的 fglrx。