Potplayer,MPC-HC/BE,WMP,Win10电影App 硬解效率(功耗)研究
dwing吧
全部回复
仅看楼主
level 9
_YuuKyuu 楼主
测试环境:Skylake i7-6700HQ laptop platform, with HD530 24EU 1050MHz (默认,电压也默认), System Agent 1000MHz
Windows 10 Pro x64 TH2
K-lite codec pack mega 12.0.1
核显驱动4390,3月30发布的OEM驱动,核显电源设置最高性能。
方法:数据取自HWiNFO64监控日志,设置100ms刷新一次,实际约每300ms刷新一次。使用鼠标宏确保开始播放和开始logging是同时的。取得的数据取平均值。
样本两个,样本1是HEVC,[email protected],4K,30fps,120 M
bp
s,2分56秒。内容是美景,主要是延时摄影和慢镜头。
样本2是HEVC,Main@L6,4K,60fps,5Mbps,3分39秒。Bad Apple。
详细Mediainfo见文末。
结果:(源数据可打包,要的留言)
Win10电影应用默秒全,是这几个当中唯一一个使用D3D11而不是DXVA(2)的播放器。
WMP效率也很好(使用系统LAV解码器)。
MPC-BE效率上是好于HC的,但样本2中HC居然优于BE,很惊讶。MPC-BE可以同时使用Cpu和Gpu。
Potplayer最糟糕,但有好看的皮肤,丰富完善的设置。(又不是不能用[滑稽]
顺便提一下测试时软件设置全都是默认设置,除了样本1中Potplayer是我自己用的设置。
________________________________________________________________________
样本1 MediaInfo
概要
完整名称 :C:\Users\yk\HWare\[email protected]_4K_120Mbps.mp4
文件格式 : hvc1
编码设置ID : hvc1 (iso4/hvc1)
文件大小 : 2.46 GiB
长度 : 2分 56秒
混合码率模式 : VBR
平均混合码率 : 120 Mbps
编码日期 : UTC 2015-03-10 18:15:37
标记日期 : UTC 2015-03-10 18:15:37
编码程序 : Hybrid 2015.02.08.1
视频
ID : 1
文件格式 : HEVC
文件格式/信息 : HighEfficiency Video Coding
格式简介 : [email protected]@Main
编码设置ID : hvc1
编码设置ID/信息 : HighEfficiency Video Coding
长度 : 2分 56秒
码率 : 120 Mbps
最大码率 : 385 Mbps
画面宽度 : 4 096像素
画面高度 : 2 160像素
画面比例 : 1.896
帧率模式 : 恒定
帧率 : 30.000 fps
色彩空间 : YUV
色度抽样 : 4:2:0
位深度 : 8位
bits/(pixel*frame)(数据密度) : 0.452
大小 : 2.46 GiB (100%)
编码函数库 : x2651.4+533-b6f36b277234:[Windows][GCC 4.9.2][64 bit]
编码设置 : wpp / ctu=64 / tu-intra-depth=1 /tu-inter-depth=1 / me=1 / subme=2 / merange=57 / no-rect / no-amp / max-merge=2/ temporal-mvp / no-early-skip / no-fast-cbf / rdpenalty=0 / no-tskip / no-tskip-fast/ strong-intra-smoothing / no-lossless / cu-lossless / no-constrained-intra /no-fast-intra / no-open-gop / no-temporal-layers / interlace=0 / keyint=250 /min-keyint=25 / scenecut=40 / rc-lookahead=20 / bframes=4 / bframe-bias=0 /b-adapt=2 / ref=3 / weightp / no-weightb / aq-mode=1 / aq-strength=1.00 /cbqpoffs=0 / crqpoffs=0 / rd=3 / psy-rd=1.00 / psy-rdoq=0.00 / signhide / lft /sao / no-sao-non-deblock / b-pyramid / cutree / rc=2 / pass / bitrate=120000 /qcomp=0.60 / qpmin=0 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 /ipratio=1.40 / pbratio=1.30
编码日期 : UTC 2015-03-10 18:15:37
标记日期 : UTC 2015-03-10 18:15:59
colour_range : Limited
矩阵系数 : BT.2020 constant
音频
ID : 2
文件格式 : AAC
文件格式/信息 : AdvancedAudio Codec
格式简介 : LC
编码设置ID : 40
长度 : 2分 56秒
码率模式 : VBR
码率 : 129 Kbps
最大码率 : 151 Kbps
声道 : 2声道
声道位置 : Front: L R
采样率 : 48.0 KHz
帧率 : 46.875 fps (1024 spf)
压缩模式 : 有损压缩
大小 : 2.70 MiB (0%)
标题 :AAC#audio:[email protected]
编码日期 : UTC 2015-03-10 18:15:59
标记日期 : UTC 2015-03-10 18:15:59
样本2 MediaInfo
概要
完整名称 :C:\Users\yk\HWare\HEVC_Main@L6_4k_60.mp4
文件格式 : MPEG-4
格式简介 : Base Media
编码设置ID : isom (isom/iso2/mp41)
文件大小 : 142 MiB
长度 : 3分 39秒
平均混合码率 : 5 430 Kbps
编码程序 : Lavf55.44.100
视频
ID : 1
文件格式 : HEVC
文件格式/信息 : HighEfficiency Video Coding
格式简介 : Main@L6@Main
编码设置ID : hev1
编码设置ID/信息 : HighEfficiency Video Coding
长度 : 3分 39秒
码率 : 5 257 Kbps
画面宽度 : 4 320像素
画面高度 : 2 160像素
画面比例 : 2.000
帧率模式 : 恒定
帧率 : 60.000 fps
色彩空间 : YUV
色度抽样 : 4:2:0
位深度 : 8位
扫描方式 : 逐行扫描
bits/(pixel*frame)(数据密度) : 0.009
大小 : 137 MiB (97%)
音频
ID : 2
文件格式 : AAC
文件格式/信息 : AdvancedAudio Codec
格式简介 : LC
编码设置ID : 40
长度 : 3分 39秒
码率模式 : CBR
码率 : 160 Kbps
声道 : 2声道
声道位置 : Front: L R
采样率 : 44.1 KHz
帧率 : 43.066 fps (1024 spf)
压缩模式 : 有损压缩
大小 : 4.18 MiB (3%)
语言 : Japanese
Default : 是
Alternate group : 1
2016年03月31日 10点03分 1
level 1
你这测试很不科学啊,你怎么测试的帧率?
你知不知道Render对于视频的帧率有着极高的影响,你既然测核显硬解效率,那应该关闭raw显示输出
"MPC-BE可以同时使用Cpu和Gpu“
以我的经验这不可能,bitstream交给显卡视频解码单元要么全交要么不交,根本无法硬解一半软解一半
除非是编程自己实现一遍cuda/opencl+CPU解码器,先不说难度之大
即使这样也不一定比显卡视频解码单元快,因为显卡都是对这种硬件单元有过特殊优化的,比自己编程使用显卡流处理核心要高效
2016年03月31日 13点03分 2
主要是测功耗的,不是测帧率,55和28fps是随便目测的,只是标明没有流畅播放的目的。关闭raw显示输出是什么意思,楼主还是小白,哪里不科学愿闻其详。MPC-BE播放样本2的时候确实cpu也吃满了,这是实际测试表明的,具体怎么回事就不了解了,不过BE播放普通视频比HC效率高是有目共睹的(功耗 gpu占用率)
2016年03月31日 13点03分
回复 _YuuKyuu :
2016年04月04日 06点04分
回复 1354756241 :
2016年04月04日 06点04分
level 1
就是停止render的工作,不让draw图像影响对解码效率的判断
render和output format都是对帧率影响至关重要的
我估计你所谓BE播放普通视频比HC效率高就是render没设置好的原因
我的经验是BE、HC的解码效率一样,没什么差别
一般来说,vista以上系统EVR无印的效率最高
你可以试试BE和HC都设成EVR无印,然后在video解码器里把output format改成yv12
再比较就没啥区别了
对照上面用同样的video解码器,把render改成VMR9再把output format改成rgb32
你会发现不管cpu占用还是gpu占用都会提高很多
2016年03月31日 14点03分 3
感谢。BE和HC都是EVRCP,按你说的在解码器里输出只勾yv12测试了一下没区别。发现是缩放算法不同造成的效率不同,BE默认用的是DXVA2缩放,以前在potplayer上也研究过缩放算法的影响,记得没这么大的。
2016年03月31日 14点03分
渲染器设为空代表什么我不太懂,改天有空再测吧,这次主要就是测播放器之间的差距,研究的也不深[吐舌]
2016年03月31日 14点03分
level 7
第一张软解,第二张硬解
2016年04月01日 04点04分 6
1