Chrome 在播放 Youtube 1080p@60fps 视频时 CPU 利用率较高(与同编解码器的 Edge 相比高出 3-4 倍)+ 丢帧较多

Chrome 在播放 Youtube 1080p@60fps 视频时 CPU 利用率较高(与同编解码器的 Edge 相比高出 3-4 倍)+ 丢帧较多

当我在 Chrome(使用 MagicActions 扩展)中全屏播放 1080p@60fps Youtube 视频时,我的 i5-4570T CPU 徘徊在 35-45% 左右。在 Edge 中播放同一视频仅占用 10% 的 CPU。根据“Stats for Nerds”,两者均在 HTML5 中使用相同的 avc1.64 编解码器。以下是相关视频:https://www.youtube.com/watch?v=VurowmlQNzQ以及运行统计数据的屏幕截图:

在此处输入图片描述

如此巨大的差异是为什么呢?Chrome 曾经轻便快速,但现在却非常耗资源。

答案1

我看了看使用 WPA 进行跟踪发现 Edge 可以将所有内容转换为其 JavaScript 引擎,

在此处输入图片描述
点击放大

而 Chrome 调用 gles2 (OpenGL/ES) 并且 GPU 调用:

在此处输入图片描述
点击放大

两者使用的 CPU 数量相同 (6-7%)。Chrome 使用的 CPU 稍多一些,因为 GPU 调用开销,这会导致更多的 Windows 内部调用。

但是 chrome 有第二个 exe 来执行 HTML 解码,还有第三个进程来处理其内部消息循环。

在此处输入图片描述
点击放大

在此处输入图片描述
点击放大

这 3 个进程导致 chrome 相对于 Edge 占用更多的 CPU。

相关内容