Byt*_*der 27 performance firefox fonts chromium
最近我开始观察这个非常令人困惑和烦人的事情,更不用说在打开 Firefox 然后启动 Chromium 时的令人担忧的行为:
在大约 30 秒内,Firefox 的子进程会消耗所有可用的 CPU 资源,导致网站停止渲染(已显示的页面冻结,新页面显示带有灰色旋转圆圈的白色页面),而整个窗口仍在响应(菜单、页面滚动) ,切换选项卡,甚至像 about:config 或 about:preferences 这样的内部页面也能工作...)。铬本身没有任何症状。在 Firefox 旋转时立即再次终止 Chromium,并不会更快地停止该行为。
我的常规 Firefox 配置文件也是如此,这是一个全新的、未受影响的 Firefox 配置文件,没有任何附加组件等,Firefox 在禁用附加组件的情况下以安全模式启动,而 Firefox 以私有模式启动。与 Chromium 类似,我可以使用常规配置文件、隐身模式或临时配置文件启动它,始终生成相同的结果。
当 Chromium 正在运行并且我打开 Firefox 时,没有什么奇怪的事情发生。
从终端启动 Firefox 时,我有时会在它旋转时退出时收到类似这样的消息(注意管道错误行中提到了一些 Chromium ipc...):
ExceptionHandler::GenerateDump cloned child 32165
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[Parent 26520, Gecko_IOThread] WARNING: pipe error (52): Connection reset by peer: file /build/firefox-8oo9jx/firefox-62.0+build2/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 353
ExceptionHandler::GenerateDump cloned child 32274
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
Run Code Online (Sandbox Code Playgroud)
奇怪的是,我无法在访客帐户或新创建的常规(管理员)帐户中重现该行为。
一些系统规格(更新):
fontconfig
2.11.94-0ubuntu1.1nvidia-410
安装了驱动程序,但切换到 Intel prime 配置文件。如何进一步排除故障并解决此问题?我使用 Gecko Profiler Extension 创建了一个性能配置文件,安装到我的常规 Ubuntu 帐户上一个干净的新 Firefox 配置文件中。可在此处找到:https : //perfht.ml/2zpTWsh - CPU 使用率为 100% 的无响应时间范围应大致对应于 Content Proc 时间轴上突出显示的区域,从大约 18 秒到 56 秒。
我为此问题创建了一个 Mozilla 错误报告:https : //bugzilla.mozilla.org/show_bug.cgi?id=1504461
重要更新:显然我的错误报告是https://bugzilla.mozilla.org/show_bug.cgi?id=1495900的副本,它指出了fontconfig
罪魁祸首。似乎启动 Chromium 会以某种方式更改字体配置,这会触发 Firefox 中的完全重新加载。这符合性能分析报告,也与以前对字体包的更新如何触发相同类型的冻结一致。
有什么想法可以让这三个(Firefox、Chromium、fontconfig)彼此表现得很好?
Byt*_*der 21
TL;DR:这是fontconfig
2.13 版之前的问题。可以通过将软件包升级到 2.13 或更高版本来修复它(尽管我找不到合适的提供商)。或者,检查主目录中所有与字体相关的文件夹和配置文件,并测试删除其中任何一个是否可以解决您的问题。对我来说,重命名~/.fonts
成功了。
在了解错误报告https://bugzilla.mozilla.org/show_bug.cgi?id=1495900和https://bugzilla.mozilla.org/show_bug.cgi?id=1411338 后,很明显问题一定是引起的fontconfig
。
不知何故,当 Chromium 启动时,它会触发字体数据库 (???) 中的更改,这会导致 Firefox(如果当前正在运行)以某种方式重新扫描文件系统以查找字体,从而导致 CPU 使用率和暂时冻结。
显然,将fontconfig
软件包从 2.11 版更新到 2.13 版(例如在 Ubuntu 18.10 中提供的版本)应该可以解决这个问题,但是我发现没有简单的方法可以在 16.04 上获得该版本,而不会破坏我安装的许多其他软件包的依赖关系。
由于问题仅限于我的用户帐户,我检查了我用户的本地字体配置和文件夹。老实说,有很多与字体相关的不同目录,包括~/.fonts
, ~/.local/share/fonts
, ~/.local/share-font-manager
, ~/.config/font-manager
, ~/.cache/font-manager
,~/.cache/fontconfig
以及更多配置文件和特定于应用程序的字体内容。
我首先删除(重命名)~/.fonts
文件夹,因为它似乎没有包含任何有用的东西,并且touch ~/.fonts/Library/
在触发 Firefox 不当行为之前很简单。该文件夹消失后,启动 Chromium 时的问题也消失了。\o/
归档时间: |
|
查看次数: |
4416 次 |
最近记录: |