这是继之前《[-Fx-] 比较 youtube HTML5及Flash的 CPU 使用率》
https://www.ptt.cc/bbs/Browsers/M.1425685059.A.708.html
以及《OS X主流浏览器观看YouTube H.264的CPU使用率》
https://www.ptt.cc/bbs/Browsers/M.1430256608.A.672.html
再次再行的测试。
这次要测试的是 OS X 10.11.2 之下,
三种主流浏览器观看 YouTube H.264 (+Dash) 的
CPU 使用量和 POWER 使用量。
测试的浏览器有:
Firefox 43.0.4
Safari 9.0.2
Google chrome 47.0.2526 + h264ify 1.0.2
不想再看细节的板友请直接看结果:
http://i.imgur.com/Csm1ide.png
原始资料请见
https://gist.github.com/chenpanliao/eb101ed83595928d0268
其中 data.csv 是各 command 加总后用来绘图的资料,
rawdata.csv 是各 command 加总前资料。
主要的结果有:
1. Safari 在 720P 以上影片,CPU usage 会明显下降。
这大概是 Safari 支援这台机器硬解的关系。
相似地,Firefox 也有这种现象,但不似 Safari 明显。
至于 Google Chrome 似乎没让硬解有多少作用。
2. 和之前的测式相比,Firefox 对 H.264 的解码似乎进步了,
且不输于 Google Chrome。
3. Power impact 大多和 CPU usage 相似,除了 Safari 在 60 fps 的情况。
我事后确实以同样方法多次测试了 Safari 在 60 fps 的实验,数据非常相似,
但我也发现 Activity Monitor.app power impact 对 Safari 60 fps 的监测
数据如同 CPU usage 般惊人地低。
但其它浏览器与影片的测试并没有显示出 Activity Monitor.app
和 top 有明显差别。
我认为,Activity Monitor.app 在计算 power impact 时并未加入
WindowServer 程式的值;
在 top 的结果中,极高的 power impact 都是由 WindowServer 贡献来的。
在我的结果中,若不考虑 WindowServer 贡献的 POWER 量,
那 Safari 还是最省电的没错。
至于 top 再加总和 Activity Monitor.app 对电量使用量计算,谁对谁错我不知道,
但有兴趣的朋友可以看看 http://preview.tinyurl.com/o6gjhzd 这篇文章。
以下是方法,有点细。==============================
测试前,浏览器的 profile 都已先清空,
并在 https://www.youtube.com/html5 确认过是否已开启 H.264 +Dash。
CPU 使用率与 power impact 计算方法:
开启影片网址后,设定好所需模式。
若有广告,都会先手动关掉。
在暂停播放的情况下把指标拉到影片开始时间。
同时,在 terminal 中下
https://gist.github.com/chenpanliao/eb101ed83595928d0268#file-shellscript-sh
这组指令。内容大概是会取得每秒 1 次共 61 次的测量值。
我所挑出侦测的 command 是根据事前观察
并与 Activity Monitor.app 相互比较的经验。
之后,将同时间下多个 command 的 CPU 或 POWER 数值相加。
因为每个第 1 次测量值没有可用资料,所以删除之。
所以,在同一个播放模式进行上述测量一次,可得 60 个测量值。
上述动作会重复 5 种模式 × 3 种浏览器 = 15 种情况。
在测量期间,尽可能排除开启其它软件。
测量的顺序并不一定,但并没有完全随机。
在观看所有影片时,所有影片以我眼力所及并未有失帧的现象。