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

楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 07:37:35
== 摘要 ==
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 影片,没有疑问。
作者: kaoh08 (AIR -the 1000th summer-)   2015-03-07 10:01:00
真详细!可以帮测其他家浏览器吗?
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 10:05:00
我本来想多测 google chrome,发现flash已经被封印了。
作者: hohiyan (海洋)   2015-03-07 10:09:00
推 box plot.全萤幕时消耗较少是因为不用处理其它软件?
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 10:25:00
应该不是,因为没观察到其他process不使用CPU的现象,且我实验时已尽可能减少启动的应用喔程式了。
作者: kira925 (1 2 3 4 疾风炭)   2015-03-07 10:30:00
可以测Opera...Opera还可以切换XD
作者: raiechun   2015-03-07 10:35:00
flash player 播放 h.264 视讯时能使用硬件解码,而 HTML5 播放 VP9 视讯时没有使用,支援 VP9 硬件解码的显示卡目前还没有,所以目前 HTML5 消耗较多运算是正常的,
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 10:39:00
谢谢。我也是这么猜,但没想到这么明显。Opera,我就让它继续当孤儿吧。
作者: albertkingdo (alk)   2015-03-07 10:42:00
希望有不同作业系统比较
作者: raiechun   2015-03-07 10:44:00
第二,h.264 和 VP9 两者的解码速度是不同的,这样比较没有参考价值
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 10:46:00
当然有。我的目的是youtube用哪个player占用CPU少。vp9比较复杂,但不是我关心的,看youtube顺一点才是。windows下,我猜应该有不少人测过了。我也不用windows。
作者: SicInfit (O_o)   2015-03-07 10:50:00
可是瑞凡,连 Opera 都支援 H.264;硬件加速摆着不用拿Firefox+VP9 来比,当然不见得比 Flash 吃香。
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 10:52:00
Firefox @ OS X 也支持 H.264,但youtube优先给vp9。但我没去config里调,说不定有只给html5(h.264)的方法。
作者: SicInfit (O_o)   2015-03-07 11:06:00
Firefox 在 OS X 上的 energy inefficiency 跟 Chrome有得比,有空的话拿 Safari 再测一次,我想也许会有不同的结果
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 11:09:00
谢谢。我也想多比个energy。还不知道怎么爬energy资料。
作者: killua12703 (Fermion)   2015-03-07 11:49:00
我用Fx Beta,37.0也回不去flash
作者: kizajan (Rybczynski)   2015-03-07 13:01:00
拿h.264跟vp9是要比什么...同样html5 vp9的cpu使用率平均高过h.264至少2~3倍用h.264同样可以看的东西 你偏偏要用vp9去软解...我的测试环境是38.0a2 和36.0.1应是差不多的
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 13:35:00
我不知如何让YouTube优先给HTML5(h.264)。请问怎么做?
作者: kizajan (Rybczynski)   2015-03-07 13:40:00
你media.mediasource.webm.enabled设true 它当然用vp9啊chrome使用者找方法要关掉vp9...而你却反其道而行...推文内说没参考价值是对的 ( ′-`)y-~你用不同的播放器各自用不同的codec 却要比较两播放器间的优劣...
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 14:24:00
谢谢,下次试试。
作者: mayuyu ((・ω・)ノ)   2015-03-07 14:30:00
@andrew43: 把media.mediasource.webm.enabled改为false这样试试看 Fx36.0.1 + OS X 10.10.2可以播放DASH MP4另外HTML5解VP9现阶段会消耗比Flash更多的内存和CPU除非有特别的需求否则现阶段用Flash播放Youtube比较好
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 14:33:00
但我也好奇YouTube里vp9和h264的差异。这是我一开始的目的。没测也不知差多少。谢谢楼上,下次试试。
作者: mayuyu ((・ω・)ノ)   2015-03-07 14:43:00
主要是现在浏览器的VP9解码写得很差用chrome播放4K的VP9影片 CPU使用率大约是FFVP9的2.5倍FFVP9以前只有64bit的版本有SIMD最佳化 所以32bit的解码器效率一样很差 但是去年底FFVP9将32bit也SIMD化同时指令集从AVX2转为SSE3/SSE2 所以即使在旧的CPU上也能得到加速 但是浏览器google自己的这一块完全没有改善所以播放VP9才会消耗比Flash播放H.264更多的资源如果VP9最佳化 其实播放效率会比H.264更高也就是其实VP9解码速度本来应该比H.264更快 是编码速度慢但是解码少了传统的B-Frame其实速度应该更快只是因为浏览器的解码写得不好 所以才会变得比H.264慢
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 14:49:00
请问FF是指firefox还是ffmpeg?或是使用同解码器?
作者: mayuyu ((・ω・)ノ)   2015-03-07 14:51:00
FFVP9指的是ffmpeg Fireofx的VP9解码是自己写的因为还没全部完成 所以我没测试解码效率如何我测试的是chrome和FFVP9(ffmpeg)的比较还有因为压缩设定的关系 目前youtube上VP9的压缩画质并没有比H.264版本好 本来应该画质比较是H.265 > VP9 > H.264 > VP8 但是在youtube上并不会有明显
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 15:00:00
我的经验是编vp9是完全不能忍受的慢。XD
作者: mayuyu ((・ω・)ノ)   2015-03-07 15:06:00
关掉一些压缩选项会快一点 但是画质就会变得和H.264一样甚至更差 这点H.265也是一样 等等看将来Intel QuickSync真的硬件支援VP9压缩 而不是驱动支援
作者: kaoh08 (AIR -the 1000th summer-)   2015-03-07 15:27:00
chrome有办法强制使用h.264吗?
作者: sziwu1100 (田桥仔)   2015-03-07 15:32:00
不喜欢用flash,连2倍快转功能都有问题
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-07 20:07:00
我成功试出html5(h264),测了一二次,并没有像flash一样的结果。大概没有用到硬解。继续使用flash。
作者: hiroki03 (希洛祈)   2015-03-08 00:01:00
Chrome可以装套件强制使用H.264阿,CPU使用率比起VP9降低不少,道理就跟前面的推文一样 只是有没有支援硬解的差别其实Chrome和Opera用HTML5(VP9)软解下,CPU的使用率也是在2X%左右阿,跟Firefox差不多其实我不太懂原PO特意去开VP9来测试是为了什么?因为目前FX 36.0.1本身VP9是默认关闭的你没特意去开HTML5(VP9)的话其实就是跑HTML5的H.264目前Fifefox用HTML5(H.264)在升36版后觉得算堪用了吧比起之前35版好很多了 35版快转到常常没反应...36版HTML5(H.264)1080P全萤幕模式 使用率也是跟Flash全萤幕模式差不多,两者CPU使用率约都介于5%~10%
作者: Wcw5504 (五月雨)   2015-03-08 00:11:00
Chrome要强制播h.264就装h264ify
楼主: andrew43 (讨厌有好心推文后删文者)   2015-03-08 00:21:00
36版在我的电脑似乎没用到硬多。37版如果还能用flash再来测一次。没用到硬解
作者: kaoh08 (AIR -the 1000th summer-)   2015-03-08 17:04:00
请问目前有没有硬件能达成4k硬解???????????
作者: kizajan (Rybczynski)   2015-03-08 18:37:00
当然有啊...随便google 4k硬解就能找到答案了

Links booklink

Contact Us: admin [ a t ] ucptt.com