为什么 Kubuntu 在 YouTube 和其他网页浏览使用中使用的 CPU 比 Windows 多得多?

Thu*_*yen 32 browser cpu-load desktop-environments kubuntu intel-cpu

我只是从 Windows 转移到 Kubuntu。而且我觉得 Kubuntu 上的浏览​​器运行成本很高。

示例:当我观看 Youtube 时:

  • 在 Windows 中,CPU 约为 12%。
  • 在 Kubuntu 中,CPU 大约为 50%。与 18.04 和 19.10 以及 Ubuntu 18.04 相同的结果。

或者当我上网时,尤其是在我看视频或听歌时,Kubuntu 上的 CPU 总是更高。

我尝试过 Firefox、Chrome、Chromium,但 CPU 使用率总是过高。

这是我电脑的信息:

  • 英特尔酷睿 I5-6200U
  • VGA 英特尔高清显卡 520
  • 4GB 内存

有没有人知道如何解决这个问题?请帮我。非常感谢。

Vas*_*hin 47

您看到更高 CPU 消耗的主要原因是缺乏视频相关功能的硬件加速:主要是视频解码和可能的渲染。英特尔的开源 GPU 驱动程序质量上乘并支持这些功能,但是浏览器在实现支持方面存在一些问题。

以下信息是截至 2020 年 3 月 11 日据我所知:

GPU加速

Firefox 和 Chrome/Chromium 都支持 GPU 加速渲染,但默认情况下不启用。

火狐

您需要启用两件事:Off-Main-Thread Compositing (OMTC)WebRender

我个人有以下设置about:config

layers.acceleration.force-enabled = true
gfx.webrender.all = true
gfx.webrender.compositor = true
gfx.webrender.enabled = true
dom.webgpu.enabled = true
Run Code Online (Sandbox Code Playgroud)

这导致about:support的决策日志中的所有内容都已启用。但是您可能需要对设置进行试验以获得适合您的组合,因为某些硬件/驱动程序组合可能会遇到问题。

铬/铬

GPU 加速需要通过设置浏览器功能标志来启用。chromium-flags.conf可能无法工作,具体取决于您的浏览器版本,但相同的标志可通过chrome://flags.

我的个人配置有这些标志:

--ignore-gpu-blacklist
--enable-gpu-rasterization
--enable-oop-rasterization
--enable-native-gpu-memory-buffers
--enable-zero-copy
--enable-accelerated-mjpeg-decode
--enable-accelerated-video
Run Code Online (Sandbox Code Playgroud)

这导致chrome://gpu除 Vulkan 之外的所有功能都处于绿色、启用和硬件加速状态。同样,这可能会因您的硬件、驱动程序甚至浏览器版本而异,因此请尝试并找到适合您的设置。

视频解码

默认情况下,没有浏览器实现硬件视频解码。好消息是这种情况即将改变。

火狐

下一个 Firefox 版本 (75) 将在 Wayland 下提供 GPU 视频解码功能。您可能必须手动启用它

Chromium 有一个补丁可以启用 GPU 视频解码,但它没有合并到主分支中。这意味着您必须从 PPA 安装一个特殊版本

  • @ThuatNguyen 基本上从 PPA 和 VAAPI 驱动程序安装 Chromium,转到 `chrome://flags` 并打开 ignore-gpu-blacklist、enable-gpu-rasterization、enable-oop-rasterization、enable-zero-copy、disable-accelerated - 视频解码。重新启动浏览器并检查`chrome://gpu`。它应该主要是绿色的。然后启动一个 Youtube 视频并检查 `chrome://media-internals` - 它应该说 `kVideoDecoderName=MojoVideoDecoder` (3认同)
  • @ThuatNguyen 您不需要英特尔 GPU 的 VDPAU,这仅适用于英伟达 AFAIK。 (2认同)
  • @ThuatNguyen 在 Firefox 中,我有:layers.acceleration.force-enabled = true,gfx.webrender.all = true,gfx.webrender.compositor = true,gfx.webrender.enabled = true,dom.webgpu.enabled = true,所以about:support 的决策日志中的所有内容都已启用。由于SW解码,视频仍然占用CPU,但整体体验更流畅。干杯! (2认同)

eag*_*275 10

我会责怪视频驱动程序......

在 Windows 上,众所周知,如果可能,大多数视频编解码器都会将工作推到远离 CPU 的显卡上,通常制造商花在优化 Windows 驱动程序上的时间比其他任何方法都要多。

特别是开源驱动程序,他们必须向任何竞争对手展示他们的优化。你特别提到视频播放