我使用 Firefox (3.6.22) 玩一些使用 Flash (Shockwave Flash 10.3 r183) 的游戏和在线观看电影。有时,Flash 会变得非常慢,我不得不重新启动浏览器(有时我似乎需要等待几分钟才能恢复正常)
我的笔记本电脑(Intel Core 2 Duo 2.0,Intel 显卡)也出现过这种情况,似乎只影响视频部分(声音正常)。另外,如果我真的很有耐心,过一段时间似乎就会好起来。我的电脑速度慢得多(Celeron 2.66Gh,10 年前的 AGP Nvidia 显卡),安装了同样的软件,视频速度变慢了,但过了一段时间后并没有变慢。
我怀疑这与频率缩放有关(有时处理器会减慢到 1.2 GH,因此我尝试将调节器更改为“性能”,但似乎没有帮助。
我怀疑它与 Firefox 使用插件容器有关,所以我禁用了它,但没有帮助。
我已经对插件容器进程进行了 strace,但似乎没有什么异常,top 表示当性能下降时 CPU 会超过 100%,我已经搜索过一个分析程序,但没有找到什么。
更新 我已将 Flash 更新至最新版本,但问题仍然存在。
有人知道我该如何收集有关此问题的更多信息吗?我应该去哪里查找?
笔记:这个问题不是关于尝试解决 Flash 播放器的问题,问题在于如何调试问题并收集更多信息!
答案1
我在使用 Flash 时遇到了与您在此处描述的完全相同的问题。
尽管将调节器设置为“性能”,但 CPU 占用率下降的原因是 Flash 播放器使用软件渲染。这需要大量 CPU。
加载 YouTube 视频,然后让 eghtop
在后台的终端窗口中运行。单击“播放”时,CPU 使用率会上升。(YouTube 提示:启用 HTML5 支持(转到http://youtube.com/html5);这有点帮助)
现在回答您的实际问题:Adobe Flash Player 是一款专有软件。因此,您无法对其进行太多调试。
这仅有的我发现有效的解决方案是将您使用的软件升级到最新版本(Firefox 3.6 现在已经很旧了)并时不时重新启动浏览器。
答案2
看看这篇文章在 Linux 中绕过 Flash GPU 验证该提案主张通过以下方法之一强制 Flash Player 绕过其 GPU 有效性检查:
sudo mkdir /etc/adobe && echo “OverrideGPUValidation=true”|sudo tee /etc/adobe/mms.cfg
echo OverrideGPUValidation=true >> ~/.adobe/mms.cfg
(以上命令来自该文章的一条评论。)
修改这些文件之前请先备份。