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