Firefox:“isolate+”进程 CPU 使用率 100%

ahe*_*ann 8 firefox cpu-load process

我安装了全新的 Ubuntu 和 Firefox。当浏览我常用的网站时,由于进程“isolate+”,我的 CPU 使用率超过 100%。谷歌已经完全没用了。我尝试在 Firefox 中禁用硬件加速,我已经卸载了 snap 版本并安装了 .deb 版本。我唯一的扩展是 ublock。操作系统:Ubuntu 22.04 Thinkpad T16、16GB RAM、i7 1260P、NVidia MX550(驱动程序=nouveau)

当我使用同一设备启动 Windows 时,此问题不存在。(双启动)

请帮我。

编辑:重现此行为的最简单方法是尝试 edclub.com 上的“打字丛林(英国)”第 45 节。(我正在尝试学习新的键盘布局......) 应用@Raffa 建议的更改后的状态

Raf*_*ffa 20

关于isolate+

\n

top假设您在终端的命令交互式屏幕输出中看到这一点,该+符号意味着字符串被缩短以适合当前终端窗口...展开/最大化终端窗口应该显示进程命令名称的其余部分字符串Isolated Web Co实际上应该是Isolated Web Content,但由于 中命令字段的限制,超过 15 个字符将被处理掉/proc/{PID}/stat

\n

这与新的Firefox\xe2\x80\x99s 站点隔离功能AKA Project Fission有关,该功能似乎在最新版本的 Firefox 中默认启用...它涉及使用/利用GFX WebRender基于 GPU 的 2D 渲染引擎))依赖于系统驱动程序/对 GPU 的支持...如果您遇到问题,那么很可能是 GPU 驱动程序/设置问题,您需要更新/更改驱动程序以更稳定/经过测试/更好的一个(如果可用)或更改 GPU 驱动程序设置(如果这是一个选项),例如 NVIDIA optimus/混合卡,以选择单个活动 GPU。

\n

出于纯粹的安全故障保护原因,不建议禁用此安全功能。

\n

about:config不过,可以通过将fission.autostartgfx.webrender.all选项设置为并在之后重新启动 Firefox ,在 Firefox 的配置选项卡 ( ) 中禁用此功能false

\n

关于现实

\n

除此之外,您可能会发现来自 Mozilla 支持的以下资源很有用:

\n

Firefox 使用过多内存或 CPU 资源 - 如何修复

\n

但是,如果您假设 Web 浏览器(Firefox、Chrome 等)是此交互中唯一/默认的罪魁祸首,那么请稍安勿躁……网页实际上是一组编程指令/代码,即它们是编写/编码为与系统资源交互并使用系统资源(例如 CPU、GPU、内存、磁盘空间...等)的计算机程序。事实上,它们通过代理(Web 浏览器)以某种程度受控/隔离的环境不会改变它们的实际情况...因此,像任何其他程序一样,它们可能有用/有害,编写/编码良好,或者其他方面,系统资源高效或占用网络资源。

\n

我已经测试了您问题中提到的示例网站:

\n

https://www.edclub.com/sportal/program-3/2945.play

\n

在 Firefox 和 Google-Chrome Web 浏览器上,注意到 CPU/GPU 使用率出乎意料地高,与您在问题中提到的数字类似(尽管 Google-Chrome 显示 CPU 使用率稍低(大约 50%),因为它的 GPU 使用引擎似乎效率更高一点)...然后我手动检查了该网页的源代码,发现它们使用了很多(比我通常在网页中预期的多)渲染场景/视图的代码,即它们绘制了图片你几乎完全从头开始使用你的计算机资源(请不要认为我在批评他们的代码,而是在描述它)......然后我运行了一个标准化的网络分析工具(Lighthouse)并得到以下结果:

\n\n

因此,您看到的高负载是正常的...这是相当密集的浏览器的 Web 元素绘制/渲染过程的结果...这将在初始时短时间内提高 CPU/GPU 负载/利用率场景绘制然后稳定下来,然后在绘制新场景部分时再次峰值,例如移动视图 \xe2\x80\xa6 时这反映在系统在 1、5 和 15 分钟时的平均负载分别为 2.36、1.20 和 0.80这属于现代(四核 CPU 或更多)台式计算机的正常预期平均负载。

\n

关于差异

\n

Web 浏览器有两个主要组件:UI 和引擎......虽然 UI 具有高度可移植性并且不会导致差异,但引擎不可移植,并且可能会导致不同操作系统之间甚至不同硬件之间的差异。

\n

引擎在性能方面有所不同,具体取决于操作系统或硬件...某些引擎比其他引擎对某些操作系统/硬件有更好的支持/利用...因此,相同的网络浏览器/网络浏览器引擎可能会在不同的引擎之间显示出一些差异操作系统甚至同一操作系统上的不同硬件之间。

\n

关于替代方案

\n
    \n
  • 您可以根据需要调整引擎配置:

    \n

    例如,可以更改 Firefox 中 Gecko 引擎的渲染行为,例如通过设置(添加任何不存在的选项)、、、和\ xe2 \x80\xa6来启用WebGPU,然后重新启动 Firefox。about:cofiggfx.webrender.alldom.webgpu.enabledlayers.gpu-process.enabledlayers.mlgpu.enabledmedia.gpu-process-decodermedia.ffmpeg.vaapi.enabledtrue

    \n

    另请参阅有关启用 WebRender 硬件加速支持的 Ubuntu 讨论主题

    \n
  • \n
  • 您始终可以安装具有不同引擎的另一个浏览器:

    \n

    正如我上面提到的,在测试您的示例网页后,Google-Chrome 显示的 CPU 使用率比 Firefox 少......我认为原因是Google-Chrome(以及据称的 Chromium 浏览器系列)使用的Blink引擎似乎(在我的系统上,可能也会在您的系统上)为 GPU 提供更好的支持/利用,这反过来又减轻了 CPU 渲染过程的大部分负载,而Firefox 使用的Gecko引擎似乎没有为相同的 GPU 提供这样的支持/利用,这反过来又将所有/大部分渲染过程放在 CPU 上。

    \n
  • \n
\n

关于GPU

\n

当 CPU 负载很高时,为什么要责怪 GPU 支持……是 CPU 没有完美地完成其工作……难道 CPU 支持是罪魁祸首吗?

\n

不,如果您的 CPU 不受支持,那么您很可能没有时间/方式注意到 Web 内容渲染过程中 CPU 负载的增加...相信我,您将没有机会安装网络浏览器更不用说启动和使用它了。

\n

CPU 支持首先是一个01二元机会......介于两者之间的任何东西都不会有效地工作。

\n

也就是说,CPU(很久以前,当地球是平的时候,曾经被称为“微处理器”)实际上是一个基于硅的(直到现在)微处理器芯片......同样,GPU、RAID 、网络、加密……等都有自己专门的微处理器芯片,这些芯片设计用于完成某些工作,通常比强大的 CPU 本身更有效。

\n

CPU可以独自完成所有事情吗?...当然,就像以前被称为“微处理器”的时代一样...所以计算机的生命还在继续...硬件图形加速、网络流量管理、RAID 管理、加密...等) .)由单独的专用微处理器芯片完成,具有由 CPU 完成的等效软件图形加速、网络流量管理、RAID 管理、加密...等)。

\n

在这两种情况下,CPU 负载是否相同?…………至少相当于那些硬件芯片的总负载吧?,它会高得多,因为那些专用芯片擅长做它们被设计做的事情......以 GPU 为例。它的设计目的是为了并行处理许多(比 CPU 多得多)小进程(例如,同时渲染图片/场景/视图的数千个小部分)。另一方面,CPU 喜欢并行的较小线程/部件的较大进程,并且比 GPU 更快地完成它们,但在渲染非常复杂的 Web 组件的画布/场景/视图时会出现阻塞。

\n

Web 引擎在渲染 Web 内容时应该更喜欢 GPU,但当与 GPU 的事务失败时将使用 CPU...此外,开发人员很难在多个平台/操作系统上添加对所有 GPU 的支持...因此,在大多数情况下,多平台浏览器继续在 CPU 上进行绘画/渲染,作为一种简单的便携式/兼容替代方案,因为 CPU 在不同操作系统上几乎具有普遍支持,而 GPU 则不然……即,这是常见且正常的有计算机用户要求为特定操作系统上的特定 GPU 提供驱动程序/支持,但他们多久需要一次为其 CPU 提供驱动程序?

\n

CPU 受到普遍支持的原因(除了没有适当支持就没有操作系统可以在其上运行的明显原因之外)是它们的架构种类有限,并且它们的工作机制(即地址、桥、缓冲区 \xe2\x80\xa6 等)是标准化的它们本质上是向后兼容的 \xe2\x80\xa6 然而,其他芯片大多不是。

\n

  • @ahermann 看来你的 GPU 与 Ubuntu 下的 Firefox 不押韵...罪魁祸首是 GPU 支持...虽然这可能会在未来的系统/Firefox 更新中得到解决,但我想不出一个直截了当的建议目前正在修复除“WebGpu”之外的 Firefox(*在启用硬件加速的情况下可能会更好地工作*),但遗憾的是这对您不起作用......据我所知,这就是所有要做的事情。 (2认同)
  • @ahermann OOOOH ...请不,...保持你的马...请不要误解我...你(*和其他阅读我的帖子的人*)拥有我**充分的尊重** ...我是来帮忙的,不是来炫耀的……事实上,我真的认为你花时间阅读我的答案是一种荣幸……书面语言的问题是它缺乏语气和面部表情,而且缺乏即使是冗长的内容也很有限......我尊重读者,只提供据我所知最准确的信息,并尽量不隐瞒任何内容...... (2认同)