Fw: [-Fx-] 比较 youtube HTML5及Flash的 CPU 使用率

楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 07:40:50
※ [本文转录自 Browsers 看板 #1K-Zf3S8 ]
作者: andrew43 (讨厌有好心推文后删文者) 看板: Browsers
标题: [-Fx-] 比较 youtube HTML5及Flash的 CPU 使用率
时间: Sat Mar 7 07:37:35 2015
== 摘要 ==
Firefox @ OS X 10.10 看 Youtube 影片时,
到底要用 Flash 还是 HTML5(vp9)?
在考虑不同影片、不同播放模式及不同分辨率之下,
我比较了 Flash 和 HTML5 的 CPU 使用量。
结果指出,播放尺寸越大时,Flash 播放器的 CPU 使用明显变小。
另外,HTML5 播放的影片之分辨率越高,CPU 使用越大,但 Flash 变化不大。
懒得看下文的朋友请直接看这张图:
http://i.imgur.com/qfbHr9Z.png
和我相同使用环境的朋友参考看看。
== 前言 ==
我一直有一个疑问:
在我的电脑上看 youtube 影片时,
我应该用哪种播放器?是 HTML5(vp9)还是 Flash(H.264)?
我只使用 Firefox,感觉是 HTML5 依然比 Flash 迟顿。
为了验证我的感觉是正确的,我比较了 CPU 使用率在二种播放器的差别。
由于不同播放尺寸及不同影片分辨率可能会是二个重要的混淆因子,
所以在分析中也纳入此二项因素。
== 方法 ==
电脑:
MacBook Pro (15-inch, Mid 2010);
2.4 GHz Intel Core i5;
8 GB ram;
1680×1050 screen;
已开启自动转换显示芯片 NVIDIA GeForce GT 330M 256 MB
作业系统:
OS X 10.10.2 (14C109)
浏览器:
Firefox 36.0.1 全新 profile 并有以下额外设定(否则不能看 vp9):
media.mediasource.youtubeonly;true
media.mediasource.webm.enabled;true
media.mediasource.mp4.enabled;true
media.mediasource.enabled;true
Flash:16.0.0.305
选用三个影片(皆有 480p、720p、1080p 的 Flash 及 vp9):
https://www.youtube.com/watch?v=yeaztQK9If0
https://www.youtube.com/watch?v=M4jqk2LFWvA
https://www.youtube.com/watch?v=qw6MP5nXUJc
CPU 使用率计算方法:
开启单一影片网址后,设定好以下三个因子:
播放模式(默认、剧院及全萤幕)、
分辨率(480p、720p 及 1080p)、
播放器(开分页 https://www.youtube.com/html5 设定)。
在暂停播放的情况下把指标拉到影片开始时间。
同时,在 terminal 中下达
sleep 5 ;\
top -a -o cpu -l 60 -ncols 3 > test.log ;\
cat test.log | grep CPU\ usage ; \
tput bel
上述指令的作用是在 5 秒后开始记录 CPU 使用量到 test.log 中,
每秒记录一次并持续 60 秒。
记录的数值不是当下测量值,而是累积之平均值。
在按下 enter 后,快速地切换到 youtube 网页并按下播放。
在 1 分钟后,会发出 beep 一声,并显示测量结果。
因为是累积平均测量,所以我会记录最后一笔结果,
得到这 1 分钟的 CPU 平均使用量。
在同一个分辨率、同一个播放模式及同一个播放器的情况下,
每一个影片测进行上述测量一次。
换句话说,相同网址之影片皆测量了 9 次
(3 种播放模式 × 3 种影片分辨率)。
在测量期间,尽可能排除开启其它软件。
测量的顺序并不一定,但并没有完全随机。
== 结果 ==
请直接看这张图:
http://i.imgur.com/qfbHr9Z.png
总体比较之下,Flash player 比 HTML5 player 使用更少的 CPU。
当播放尺寸增大,或是影片的分辨率增大时,
这种趋势越来越明显。
有趣的是,Flash player 在全萤幕模式所使用的 CPU 是最少的。
这应该是 Flash player 利用显示芯片解码的关系。
我也做了一个 general mixed model,但结果就不细说了。
大概的结论如下:
1. 播放器与播放尺寸存在交互作用。
尺寸越大时,Flash 播放器的 CPU 使用明显变小。
HTML5 也有相似现象,但并不明显。
2. 播放器与影片分辨率存在交互作用。
HTML5 播放的影片之分辨率越高,使用越多的 CPU,但 Flash 变化不大。
3. 即使存在上述二个交互作用,但能解释最多变异的因子就是
“播放器”这个主效应,也就是 Flash 还是 HTML5。
== 结论 ==
以 CPU 使用率低为目标来看,
我应该继续用 Flash 看 Youtube 影片,没有疑问。
作者: uranusjr (←這人是超級笨蛋)   2015-03-07 09:13:00
没有任何一个超过 35%, 应该有比 CPU 更重要的考虑因素没事留那么多 CPU 是要干什么, 挖比特币吗
作者: yr (Sooner Born Sooner Bred)   2015-03-07 09:26:00
一个用 vp9 一个用 h.264 这样也能比喔?
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 09:50:00
那个cpu usage要乘个4才是单核usage。yr, 我就是在比这二个, 不在意codec。
作者: SicInfit (O_o)   2015-03-07 10:46:00
干嘛挑了个唯一不吃 H.264 的... VP9 肯定没有硬件加速吧
作者: sdyy (中坜市的小智)   2015-03-07 11:16:00
确实 我老电脑以前看youtube 1080p爽爽看 现在用html5lag到爆 只能看720p的...
作者: yr (Sooner Born Sooner Bred)   2015-03-07 12:52:00
那你就不该标题杀人,因为你比的是 html5+vp9 跟 flash+h.264真的影响 CPU 使用率的是哪个,你根本没办法分辨
作者: guanting886 (Guanting)   2015-03-07 15:00:00
你应该去抓活动监视器上的量第二 safari 跟 chrome上的html player 用的编码都不太相同你觉得codec 不重要 我是觉得蛮可惜的 因为你的数据只对了一半如果要做两个player 效能比较 你就有责任要把每一个codec都测试过 包含你播放的影片样本都要提供出来这才是一份好的评测报告文件 正确的表达方式
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 15:25:00
我当时只对vp9有兴趣,没考虑太多。有机会再测h264。另外,样本不是都列了吗?我不觉得系统监视器有比top容易收集数据。它可收一段时间的累积平均吗?我对其他browser就没兴趣了解了。谢谢你的意见。
作者: x000032001 (版废了该走了)   2015-03-07 18:20:00
cpu usage还要乘freq 你看的时候 时脉都是固定吗
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 20:02:00
没有检查时脉。谢谢。

Links booklink

Contact Us: admin [ a t ] ucptt.com