mpv硬解不同后端和api的解码渲染压力的横向比较
本帖最后由 孤雨独火 于 2020-5-21 13:41 编辑突然发现好像忽视了其他重要因素,此楼终结{:13_962:} 11楼已重测
一时兴起随手测试了一下,样本单一,很普通。
conf配置即懒人包。
之所以选copy而不是native因为考虑到了滤镜的正常工作。
其次只选这两是出于对vulkan和nvdec的好奇。
[*]d3d11+dxva2-copy
这个波形真的很陡~~~
[*]d3d11+nvdec-copy
[*]vulkan+dxva2-copy
[*]vulkan+nvdec-copy
这个优势太明显了吧~~~
结论:
dxva2-copy的显卡性能波形图非常陡,nvdec-copy的波形就很平~~~
vulkan这个后端明显比d3d11占用更少的性能(有意思的是设为vulkan冷启动mpv却有明显的延迟感,d3d11打开mpv的窗口却十分迅速)
所以vulkan+nvdec-copy对主机的压力非常低,推荐使用,当然这个A卡用户就绝缘了。
Ps.软解对照组
[*]d3d11+no
dxv2-copy真的扶不起~~
[*]vulkan+no
显卡:看我疯狂打酱油
本帖最后由 cczzhh 于 2020-5-20 21:16 编辑
测占用有任何意义吗。
怎么benchmark的话haasn已经在他blog里写得很清楚了:https://haasn.xyz/posts/2017-10- ... raw-throughput.html
不过他这个只测渲染效率,假设解码无瓶颈。
把
audio=no
untimed=yes
video-sync=display-desync
vulkan-swap-mode=immediate
opengl-swapinterval=0
d3d11-sync-interval=0
osd-msg1="FPS: ${estimated-display-fps}"
写到mpv.conf里,命令行运行
mpv --profile=bench video.mkv
即可看出无限制时的最高帧数。
注意如果vulkan测出来和显示器刷新率一致的话,得把上述配置里的immediate改成mailbox。
另外要注意要使用speed参数把任何非60帧的视频加速到60帧再测(如果显示器刷新率是60Hz的话),blog里第三点讲的就是这个。
姑且也可以用来测解码效率,严格来讲用vo=null应该可以实现,可是vo=null时estimated-display-fps总是返回unavailable。就用上面的profile,把其他选项全部注释掉用默认(即把渲染压力降到最低),再单独加hwdec=,即可对比解码效率。拿4K HDR高帧率文件比较容易看出区别。
cczzhh 发表于 2020-5-20 21:06
测占用有任何意义吗。
怎么benchmark的话haasn已经在他blog里写得很清楚了:https://haasn.xyz/posts/2017 ...
为什么没有意义.....
并不是所有人都有性能无上限,功耗不担忧的主机吧
我的用d3d11 2060显卡的3d占用很高 用vulkan显卡的Graphic-1占用很高。感觉没啥区别 楚轩 发表于 2020-5-20 22:03
我的用d3d11 2060显卡的3d占用很高 用vulkan显卡的Graphic-1占用很高。感觉没啥区别 ...
3d那是渲染器的占用,decoder显示的是解码器的占用,这两不一样的
孤雨独火 发表于 2020-5-20 22:11
3d那是渲染器的占用,decoder显示的是解码器的占用,这两不一样的
不是 俩个的decoder'占用都差不多 主要vulkan在任务管理器里3d占用4-5徘徊 然后显卡风扇狂飙 我发现选项中的graphic占用很高但用d3d11这项为零 楚轩 发表于 2020-5-20 22:27
不是 俩个的decoder'占用都差不多 主要vulkan在任务管理器里3d占用4-5徘徊 然后显卡风扇狂飙 我发现选项 ...
好吧我并没关注过这一项,忽视了~~~ 孤雨独火 发表于 2020-5-20 22:39
好吧我并没关注过这一项,忽视了~~~
所以用vulkan光看3d项没用的 感觉win10是不是显示问题 打开hwinfo看功率? 不建议看win10自带的,推荐nvidia-inspector看GPU占用等。GPU真实占用=负载百分比*运行频率。以2070基本来看,明显在低频率。
你这1080@60fps居然就占用了15%的解码,这个低频运行太明显了。