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

看板Browsers作者 (討厭有好心推文後刪文者)時間9年前 (2015/03/07 07:37), 9年前編輯推噓22(22069)
留言91則, 14人參與, 最新討論串1/2 (看更多)
== 摘要 == 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 影片,沒有疑問。 -- http://apansharing.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.230.82.213 ※ 文章網址: https://www.ptt.cc/bbs/Browsers/M.1425685059.A.708.html ※ 編輯: andrew43 (125.230.82.213), 03/07/2015 07:39:46 ※ andrew43:轉錄至看板 MAC 03/07 07:40

03/07 10:01, , 1F
真詳細!可以幫測其他家瀏覽器嗎?
03/07 10:01, 1F

03/07 10:05, , 2F
我本來想多測 google chrome,發現flash已經被封印了。
03/07 10:05, 2F

03/07 10:09, , 3F
推 box plot.全螢幕時消耗較少是因為不用處理其它軟體?
03/07 10:09, 3F

03/07 10:25, , 4F
應該不是,因為沒觀察到其他process不使用CPU的現象,且
03/07 10:25, 4F

03/07 10:25, , 5F
我實驗時已盡可能減少啟動的應用喔程式了。
03/07 10:25, 5F

03/07 10:30, , 6F
可以測Opera...Opera還可以切換XD
03/07 10:30, 6F

03/07 10:35, , 7F
flash player 播放 h.264 視訊時能使用硬體解碼,而 HTM
03/07 10:35, 7F

03/07 10:36, , 8F
L5 播放 VP9 視訊時沒有使用,支援 VP9 硬體解碼的顯示
03/07 10:36, 8F

03/07 10:38, , 9F
卡目前還沒有,所以目前 HTML5 消耗較多運算是正常的,
03/07 10:38, 9F

03/07 10:39, , 10F
謝謝。我也是這麼猜,但沒想到這麼明顯。
03/07 10:39, 10F

03/07 10:39, , 11F
Opera,我就讓它繼續當孤兒吧。
03/07 10:39, 11F

03/07 10:42, , 12F
希望有不同作業系統比較
03/07 10:42, 12F

03/07 10:44, , 13F
第二,h.264 和 VP9 兩者的解碼速度是不同的,這樣比較
03/07 10:44, 13F

03/07 10:45, , 14F
沒有參考價值
03/07 10:45, 14F

03/07 10:46, , 15F
當然有。我的目的是youtube用哪個player佔用CPU少。
03/07 10:46, 15F

03/07 10:48, , 16F
vp9比較複雜,但不是我關心的,看youtube順一點才是。
03/07 10:48, 16F

03/07 10:49, , 17F
windows下,我猜應該有不少人測過了。我也不用windows。
03/07 10:49, 17F

03/07 10:50, , 18F
可是瑞凡,連 Opera 都支援 H.264;硬體加速擺著不用拿
03/07 10:50, 18F

03/07 10:50, , 19F
Firefox+VP9 來比,當然不見得比 Flash 吃香。
03/07 10:50, 19F

03/07 10:52, , 20F
Firefox @ OS X 也支持 H.264,但youtube優先給vp9。
03/07 10:52, 20F

03/07 10:53, , 21F
但我沒去config裡調,說不定有只給html5(h.264)的方法。
03/07 10:53, 21F

03/07 11:06, , 22F
Firefox 在 OS X 上的 energy inefficiency 跟 Chrome
03/07 11:06, 22F

03/07 11:06, , 23F
有得比,有空的話拿 Safari 再測一次,我想也許會有不
03/07 11:06, 23F

03/07 11:06, , 24F
同的結果
03/07 11:06, 24F

03/07 11:09, , 25F
謝謝。我也想多比個energy。還不知道怎麼爬energy資料。
03/07 11:09, 25F

03/07 11:49, , 26F
我用Fx Beta,37.0也回不去flash
03/07 11:49, 26F

03/07 13:01, , 27F
拿h.264跟vp9是要比什麼...
03/07 13:01, 27F

03/07 13:21, , 28F
同樣html5 vp9的cpu使用率平均高過h.264至少2~3倍
03/07 13:21, 28F

03/07 13:21, , 29F
用h.264同樣可以看的東西 你偏偏要用vp9去軟解...
03/07 13:21, 29F

03/07 13:23, , 30F
我的測試環境是38.0a2 和36.0.1應是差不多的
03/07 13:23, 30F

03/07 13:35, , 31F
我不知如何讓YouTube優先給HTML5(h.264)。請問怎麼做?
03/07 13:35, 31F

03/07 13:40, , 32F
你media.mediasource.webm.enabled設true 它當然用vp9啊
03/07 13:40, 32F

03/07 13:42, , 33F
chrome使用者找方法要關掉vp9...而你卻反其道而行...
03/07 13:42, 33F

03/07 13:56, , 34F
推文內說沒參考價值是對的 ( ′-`)y-~
03/07 13:56, 34F

03/07 13:58, , 35F
你用不同的播放器各自用不同的codec 卻要比較兩播放器間
03/07 13:58, 35F

03/07 13:58, , 36F
的優劣...
03/07 13:58, 36F

03/07 14:24, , 37F
謝謝,下次試試。
03/07 14:24, 37F

03/07 14:30, , 38F
@andrew43: 把media.mediasource.webm.enabled
03/07 14:30, 38F

03/07 14:30, , 39F
改為false這樣試試看 Fx36.0.1 + OS X 10.10.2
03/07 14:30, 39F

03/07 14:30, , 40F
可以播放DASH MP4
03/07 14:30, 40F

03/07 14:33, , 41F
另外HTML5解VP9現階段會消耗比Flash更多的記憶體和CPU
03/07 14:33, 41F

03/07 14:33, , 42F
除非有特別的需求否則現階段用Flash播放Youtube比較好
03/07 14:33, 42F

03/07 14:33, , 43F
但我也好奇YouTube裡vp9和h264的差異。這是我一開始的
03/07 14:33, 43F

03/07 14:33, , 44F
目的。沒測也不知差多少。
03/07 14:33, 44F

03/07 14:35, , 45F
謝謝樓上,下次試試。
03/07 14:35, 45F

03/07 14:43, , 46F
主要是現在瀏覽器的VP9解碼寫得很差
03/07 14:43, 46F

03/07 14:43, , 47F
用chrome播放4K的VP9影片 CPU使用率大約是FFVP9的2.5倍
03/07 14:43, 47F

03/07 14:43, , 48F
FFVP9以前只有64bit的版本有SIMD最佳化 所以32bit的解碼器
03/07 14:43, 48F

03/07 14:44, , 49F
效率一樣很差 但是去年底FFVP9將32bit也SIMD化
03/07 14:44, 49F

03/07 14:44, , 50F
同時指令集從AVX2轉為SSE3/SSE2 所以即使在舊的CPU上
03/07 14:44, 50F

03/07 14:44, , 51F
也能得到加速 但是瀏覽器google自己的這一塊完全沒有改善
03/07 14:44, 51F

03/07 14:44, , 52F
所以播放VP9才會消耗比Flash播放H.264更多的資源
03/07 14:44, 52F

03/07 14:45, , 53F
如果VP9最佳化 其實播放效率會比H.264更高
03/07 14:45, 53F

03/07 14:45, , 54F
也就是其實VP9解碼速度本來應該比H.264更快 是編碼速度慢
03/07 14:45, 54F

03/07 14:45, , 55F
但是解碼少了傳統的B-Frame其實速度應該更快
03/07 14:45, 55F

03/07 14:46, , 56F
只是因為瀏覽器的解碼寫得不好 所以才會變得比H.264慢
03/07 14:46, 56F

03/07 14:49, , 57F
請問FF是指firefox還是ffmpeg?或是使用同解碼器?
03/07 14:49, 57F

03/07 14:51, , 58F
FFVP9指的是ffmpeg Fireofx的VP9解碼是自己寫的
03/07 14:51, 58F

03/07 14:52, , 59F
因為還沒全部完成 所以我沒測試解碼效率如何
03/07 14:52, 59F

03/07 14:52, , 60F
我測試的是chrome和FFVP9(ffmpeg)的比較
03/07 14:52, 60F

03/07 14:55, , 61F
還有因為壓縮設定的關係 目前youtube上VP9的壓縮畫質
03/07 14:55, 61F

03/07 14:55, , 62F
並沒有比H.264版本好 本來應該畫質比較是
03/07 14:55, 62F

03/07 14:55, , 63F
H.265 > VP9 > H.264 > VP8 但是在youtube上並不會有明顯
03/07 14:55, 63F

03/07 15:00, , 64F
我的經驗是編vp9是完全不能忍受的慢。XD
03/07 15:00, 64F

03/07 15:06, , 65F
關掉一些壓縮選項會快一點 但是畫質就會變得和H.264
03/07 15:06, 65F

03/07 15:06, , 66F
一樣甚至更差 這點H.265也是一樣 等等看將來
03/07 15:06, 66F

03/07 15:06, , 67F
Intel QuickSync真的硬體支援VP9壓縮 而不是驅動支援
03/07 15:06, 67F

03/07 15:27, , 68F
chrome有辦法強制使用h.264嗎?
03/07 15:27, 68F

03/07 15:32, , 69F
不喜歡用flash,連2倍快轉功能都有問題
03/07 15:32, 69F

03/07 20:07, , 70F
我成功試出html5(h264),測了一二次,並沒有像flash一樣
03/07 20:07, 70F

03/07 20:08, , 71F
的結果。大概沒有用到硬解。繼續使用flash。
03/07 20:08, 71F

03/08 00:01, , 72F
Chrome可以裝套件強制使用H.264阿,CPU使用率比起VP9降低
03/08 00:01, 72F

03/08 00:02, , 73F
不少,道理就跟前面的推文一樣 只是有沒有支援硬解的差別
03/08 00:02, 73F

03/08 00:02, , 74F
其實Chrome和Opera用HTML5(VP9)軟解下,CPU的使用率也是
03/08 00:02, 74F

03/08 00:03, , 75F
在2X%左右阿,跟Firefox差不多
03/08 00:03, 75F

03/08 00:03, , 76F
其實我不太懂原PO特意去開VP9來測試是為了什麼?
03/08 00:03, 76F

03/08 00:04, , 77F
因為目前FX 36.0.1本身VP9是預設關閉的
03/08 00:04, 77F

03/08 00:05, , 78F
你沒特意去開HTML5(VP9)的話其實就是跑HTML5的H.264
03/08 00:05, 78F

03/08 00:06, , 79F
目前Fifefox用HTML5(H.264)在升36版後覺得算堪用了吧
03/08 00:06, 79F

03/08 00:06, , 80F
比起之前35版好很多了 35版快轉到常常沒反應...
03/08 00:06, 80F

03/08 00:06, , 81F
36版HTML5(H.264)1080P全螢幕模式 使用率也是跟Flash全
03/08 00:06, 81F

03/08 00:06, , 82F
螢幕模式差不多,兩者CPU使用率約都介於5%~10%
03/08 00:06, 82F

03/08 00:11, , 83F
Chrome要強制播h.264就裝h264ify
03/08 00:11, 83F

03/08 00:21, , 84F
36版在我的電腦似乎沒用到硬多。37版如果還能用flash再
03/08 00:21, 84F

03/08 00:22, , 85F
來測一次。
03/08 00:22, 85F

03/08 00:22, , 86F
沒用到硬解
03/08 00:22, 86F

03/08 17:04, , 87F
請問目前有沒有硬體能達成4k硬解???????????
03/08 17:04, 87F

03/08 18:37, , 88F
當然有啊...
03/08 18:37, 88F

03/08 18:38, , 89F
隨便google 4k硬解就能找到答案了
03/08 18:38, 89F

04/05 02:15, , 90F
FF38.0a2開啟VP9會明顯LAG 聲音再跑 畫面停止出現圈圈在轉
04/05 02:15, 90F

04/05 02:16, , 91F
把webm選項改掉後換成h.264就非常順暢了
04/05 02:16, 91F
文章代碼(AID): #1K-Zf3S8 (Browsers)
文章代碼(AID): #1K-Zf3S8 (Browsers)