E X P
正努力加载中…
  • 编辑
  • 评论
  • 标题
  • 链接
  • 查错
  • 图文
  • 拼 命 加 载 中 ...

    我们很多时候更新软件的一个目的就是为了获得更好的优化,让软件更为充分的发挥出硬件的潜能,对于不少人经常要使用的视频编码器来说,更是如此,往往新版本对于新的硬件平台有更好的支持,那么,具体的提升幅度有多少呢?我们以著名的开源HEVC视频编码器x265为例做了简单的测试。

    其实本来这个问题是这样发现的:我们在CPU性能测试中一直以来使用的x264/x265 Benchmark版本非常老了,其内置的x264编译完成于2011年,而x265则是1.4版本的,前者距今已经有8年多没更新过了,而后者距今也有将近5年的时间了。老版本编码器上面比较严重的问题就是对于新指令集的优化不够充分,并不能够发挥新CPU 100%的潜力。

    那为什么选择x265作为测试对象软件呢?一是相对于x264,x265在并行化上面有着更好的优化,在现在有着众多核心的服务器/HEDT平台上会有更好的表现;二是x264的更新已经接近停滞,原本主要的几个mod版本都已经放弃了更新,比如MeGUI原来使用的kMod,小丸工具箱以前用过的tMod(原tMod作者06_taro早就不更新了,现在是有另外的开发者在更),而x265仍然保持了相当的开发力度,版本更迭还是比较快的;三是x264对于现在的新CPU来说已经不是什么大难题了,只要不开那种很变态的参数,速度还是很快的,而x265就不一样了,就算是一般的参数都可以把CPU性能吃干抹净,速度还远远达不到x264的地步。

    废话不多说了,直接来看测试。

    测试平台与说明

    测试平台有两套,其实就是昨天两个CPU评测的那两套平台,主要的控制变量实验在Intel Core i9-10980XE上面进行。

    对比选用了我们原来在x265 Benchmark上使用的1.4版x265,编译器为gcc,为了控制变量,选用了同样由gcc编译的两个较新版本的x265,一个为2.4+14版,另一个为3.2+2版,都是8bit版本,不过gcc版本不同,另外它们也是来自于不同的开发者,3.2+2版本使用的是国人开发者msg7086的修改版,性能方面与原版没有什么大的区别点。

    新老x265在大部分默认参数上都保持了一致,少数可见的不同参数将使用手动方式进行控制,以保证可对比性。源仍然使用x265 Benchmark中附带的测试片段,使用Vapoursynth R48进行预处理并送入x265,预处理仅使用LSMASH读取视频文件,不做任何其他处理。

    对比测试

    原版参数

    首先是与原版x265 Benchmark使用相同的参数: --preset fast --crf 20 来查看最直观的提升情况。

    可以看到2.4+14版本在同参数下速率提升超过了一倍之多,另外通过码率情况也可以看到2.4+14版本的输出与更新的3.2+2版本并没有区别。根据常识,向一个确定的程序算法中输入相同的数据,其输出也应该是相同的,所以很有可能,在默认参数下,从2.4+14版本到3.2+2版本并没有对编码算法进行修改。

    而在用这组参数跑测试的时候,CPU并没有满载,反映出了两种可能性,一是x265自身的压力不够大,二是x265的并行优化可能还没有针对这么多核心做到最好,所以在参考了前辈的经验和x265文档之后,加入了新的参数: --ctu 32

    缩小CTU值

    --ctu参数提升的是x265编码中Code Tree Unit的最大单元大小,--fast参数默认是64,手动改成32可以提升并行编码效率,但会使视频的码率升高。

    在该参数下,x265对于CPU的使用率确实变高了一些,但是仍然吃不满,利用率变高的结果就是编码帧率升高了不少,就算是老版本也有不小的提升。

    但还是吃不满CPU,咋办呢?x265还提供了一些提升并行使用率的参数,比如--pme--pmode

    提升并行化程度

    就结果来看,用来提升CPU使用率的--pme--pmode并没有起到预期的效果,实际的编码效率反而下降了。而从码率结果来看,开启--pme--pmode可以有效降低码率,提高压缩比。另外,1.4+5版本的x265虽然在帧率表现上像是开了这两个参数一样,但是输出结果的码率是完全一致的,可能是并没有实际应用到最终输出上,同样,2.4+14版本的-pme参数也像是没有起效,而在3.2+2版本上面,两个参数表现正常。

    修改预设,增大对处理器的压力

    为了完全压榨处理器的性能,我决定修改使用的预设,从原本的--preset fast调至--preset medium--preset slow

    其实开到--preset medium就可以让这颗Core i9-10980XE满负荷运行了,看来在fast预设下面,x265给的压力不够大,不足以让CPU满负荷运行。

    AVX-512有用吗?

    新版的x265也加入了针对新的AVX-512指令集的优化,由于时间关系,只来得及用3.2+2的msvc编译版本简单验证一下,默认情况下x265不会调用AVX-512指令集,需要手动添加--asm avx512命令进行启用。

    呃,很尴尬,看上去像是x265的AVX-512支持还没有完善,开启之后成绩不升反降,也可能是编译器的关系,有时间我用gcc编译版再测一次。

    那么,对于32核的优化呢?

    好了,Core i9-10980XE这颗18核36线程的处理器被压榨干净了,那么Threadripper 3970X这颗32核心64线程的处理器呢?由于时间限制,我只能简单对其中一个版本进行简单测试。

    直接跟Core i9-10980XE在同参数同版本x265下的成绩进行对比就可以看出端倪,x265对于超多核心的优化并没有做好,或者是部分参数的默认值在超多核心处理器上面没有进行自动调整导致Threadripper 3970X没有获得应该有的优势。

    简单结论

    其实问题在很上面就解决了,新版本的x265提升非常大。下面的参数测试算是偏题部分,只是想看看x265到底能不能压榨完超多核心处理器的性能,答案应该是可以的,只要给的负载够大就行,不过它对于Threadripper 3970X这样有32核心的处理器的优化还不到位,另外在默认情况下面它并不能100%反映出CPU的性能潜力,需要自己手动调整参数。

    其实写这篇的目的只是想放这张截图装个X而已(逃

    ×
    热门文章
    1iPhone 12换用了更好的OLED之后,屏幕维修费用大涨到2149元
    2SK海力士用90亿美元收购Intel闪存业务,包括SSD业务、IP以及大连工厂
    3Raspberry Pi Compute Module 4发布,更小巧却更强大的迷你SBC
    4技嘉战术KVM M27Q显示器评测:可以键鼠打手游的2K高刷广色域游戏显示器
    5索尼工程总监小野洋平接受采访:PS5的风扇策略可以通过系统更新调整
    6iOS版Xbox应用迎来更新,iPhone用户现可透过Xbox应用串流主机游戏
    7好久不见的魅族还没有发布新手机,但有新真无线耳机POP2s
    8佳能宣布两款2.5亿像素CMOS传感器新品,仅为APS-H尺寸
    9佳能宣布超灵敏的CMOS传感器,大大提升了弱光环境下的拍摄能力
    已有 29 条评论,每一条合规评论都是对我们的褒奖。
    • 这些评论亮了
    • 倪嘉声博士 2019-11-26 18:32  加入黑名单

      这文章跟解码没半毛钱关系。

      已有1次举报

      支持(20)  |   反对(0)  |   举报  |   回复

      5#

    • 游客 2019-12-02 18:32

      看截图赞叹一下啦

      已有1次举报

      支持(1)  |   反对(0)  |   举报  |   回复

      29#

    • 游客 2019-11-29 11:19

      新版本的画质如何??

      已有1次举报

      支持(1)  |   反对(0)  |   举报  |   回复

      28#

    • cnbeta教授 2019-11-27 23:26  加入黑名单

      vigo93 教授

      默认开启?????我下载这么多版本可没见过 EVR不用选?滤镜那里不用禁用??我就三步
      2019-11-27 15:57 已有3次举报
    • 支持(1)  |   反对(0)  |   举报  |   回复
    • 讲什么默认开启,现在看个视频还需要显卡解码了,一个2C4T的奔腾,都能解码4K的H265视频,就算没有默认开启硬解,又怎么了?有影响吗?

      别人在这讨论的生产力的性能,整天拉普通用户出来干啥呢?你自己不压x265你的电脑就会破烂到看不了H.265?我不做木匠我,还不能用木制家具了?

      支持(2)  |   反对(0)  |   举报  |   回复

      27#

    • 倪嘉声博士 2019-11-27 16:48  加入黑名单

      vigo93 教授

      默认开启?????我下载这么多版本可没见过 EVR不用选?滤镜那里不用禁用??我就三步
      2019-11-27 15:57 已有3次举报
    • 支持(1)  |   反对(0)  |   举报  |   回复
    • 对不起,确实不是默认开启,不过要开也不用三键了,只要一键,播放时下面的S/W看到没,点一下就开硬件解码了,另外EVR确实是默认渲染器不用手动指定

      支持(0)  |   反对(0)  |   举报  |   回复

      26#

    • vigo93教授 2019-11-27 15:57  加入黑名单

      倪嘉声 博士

      右击菜单-滤镜-使用内置DXVA视频解码器。一共只需要点两下鼠标,完成,并且这项是默认开启的。
      2019-11-27 11:01 已有1次举报
    • 支持(1)  |   反对(0)  |   举报  |   回复
    • 默认开启?????我下载这么多版本可没见过 EVR不用选?滤镜那里不用禁用??我就三步

      已有3次举报

      支持(1)  |   反对(0)  |   举报  |   回复

      25#

    • tzw0745研究生 2019-11-27 15:46  加入黑名单

      dmz 等待验证会员

      硬解现在核显也很轻松了,更大的负载在 渲染 上,用个 madVR 渲染 HDR,核显就吃力了。
      2019-11-27 15:28
    • 支持(0)  |   反对(0)  |   举报  |   回复
    • 渲染拼的是显卡的硬实力,要是核显能包圆了那nvidia不如去跳楼

      支持(0)  |   反对(0)  |   举报  |   回复

      24#

    • dmz等待验证会员 2019-11-27 15:28  加入黑名单

      tzw0745 研究生

      独显硬解x265都是多少年前的事了,上N代的骁龙636硬解x265 10bit毫无压力,VCB-S压制组2015年年初就决定全面转型x265,你就抱着x264继续嘴硬吧。
      2019-11-27 01:01 已有1次举报
    • 支持(7)  |   反对(1)  |   举报  |   回复
    • 硬解现在核显也很轻松了,更大的负载在 渲染 上,用个 madVR 渲染 HDR,核显就吃力了。

      支持(0)  |   反对(0)  |   举报  |   回复

      23#

    • tzw0745研究生 2019-11-27 11:07  加入黑名单

      vigo93 教授

      谁不知道能硬件 还是你用QQ影音不用设置 来说下potplayer设置显卡解密几个步骤 别查哦 看你说得出不
      2019-11-27 10:32 已有1次举报
    • 支持(1)  |   反对(0)  |   举报  |   回复
    • potplayer默认设置就能用自带的解码器启用硬解……更别说功能更强大的lav filter解码器了……vcb-s的potplayer+lav filter+madvr进阶教程也是相当完善……我实在不知道你想杠啥

      支持(0)  |   反对(0)  |   举报  |   回复

      22#

    • 倪嘉声博士 2019-11-27 11:01  加入黑名单

      vigo93 教授

      谁不知道能硬件 还是你用QQ影音不用设置 来说下potplayer设置显卡解密几个步骤 别查哦 看你说得出不
      2019-11-27 10:32 已有1次举报
    • 支持(1)  |   反对(0)  |   举报  |   回复
    • 右击菜单-滤镜-使用内置DXVA视频解码器。一共只需要点两下鼠标,完成,并且这项是默认开启的。

      已有1次举报

      支持(1)  |   反对(0)  |   举报  |   回复

      21#

    • vigo93教授 2019-11-27 10:32  加入黑名单

      tzw0745 研究生

      独显硬解x265都是多少年前的事了,上N代的骁龙636硬解x265 10bit毫无压力,VCB-S压制组2015年年初就决定全面转型x265,你就抱着x264继续嘴硬吧。
      2019-11-27 01:01 已有1次举报
    • 支持(7)  |   反对(1)  |   举报  |   回复
    • 谁不知道能硬件 还是你用QQ影音不用设置 来说下potplayer设置显卡解密几个步骤 别查哦 看你说得出不

      已有1次举报

      支持(1)  |   反对(0)  |   举报  |   回复

      20#

    • 游客 2019-11-27 04:49

      vigo93 教授

      怎么分不清?正常用户有多少会用内置核显解码h265? 有多少图体积去下载h265?
      2019-11-26 20:22 已有5次举报
    • 支持(1)  |   反对(13)  |   举报  |   回复
    • 有的网站提供俩个版本选择,我优先选265呀

      支持(0)  |   反对(0)  |   举报  |   回复

      19#

    • 游客 2019-11-27 03:39

      32核支持不足?开两个X265不就完了

      支持(0)  |   反对(0)  |   举报  |   回复

      18#

    • 游客 2019-11-27 01:14

      看评论大概其看懂了,'12nm' 发展到 '7nm' 了。

      这么说 我的20T 蓝光4k 又要洗版了吗?

      支持(0)  |   反对(0)  |   举报  |   回复

      17#

    • tzw0745研究生 2019-11-27 01:01  加入黑名单

      vigo93 教授

      怎么分不清?正常用户有多少会用内置核显解码h265? 有多少图体积去下载h265?
      2019-11-26 20:22 已有5次举报
    • 支持(1)  |   反对(13)  |   举报  |   回复
    • 独显硬解x265都是多少年前的事了,上N代的骁龙636硬解x265 10bit毫无压力,VCB-S压制组2015年年初就决定全面转型x265,你就抱着x264继续嘴硬吧。

      已有1次举报

      支持(7)  |   反对(1)  |   举报  |   回复

      16#

    • dingding2001教授 2019-11-27 00:23  加入黑名单

      为了装个X跑这么些测试码这么多字也可以啊

      支持(0)  |   反对(0)  |   举报  |   回复

      15#

    • 游客 2019-11-26 21:14

      vigo93 教授

      怎么分不清?正常用户有多少会用内置核显解码h265? 有多少图体积去下载h265?
      2019-11-26 20:22 已有5次举报
    • 支持(1)  |   反对(13)  |   举报  |   回复
    • X265编码明显属于生产力范畴,解码看视频属于生产力行为吗?
      甭管怎么看,有谁下视频会刻意识别并避开H265编码的,只找H264的资源吗,不是先逮到哪个就下哪个吗?
      难道还心算一下时 ...

      已有1次举报

      支持(7)  |   反对(2)  |   举报  |   回复

      14#

    • vigo93教授 2019-11-26 20:22  加入黑名单

      tzw0745 研究生

      编码解码傻傻分不清楚
      2019-11-26 18:49 已有1次举报
    • 支持(6)  |   反对(0)  |   举报  |   回复
    • 怎么分不清?正常用户有多少会用内置核显解码h265? 有多少图体积去下载h265?

      已有5次举报

      支持(1)  |   反对(13)  |   举报  |   回复

      12#

    • 游客 2019-11-26 20:22

      vigo93 教授

      然而大部分人都是直接打开QQ播放器 顶多是potplayer直接播放 极少数去下载解码器渲染器插件去自己调
      2019-11-26 18:08 已有7次举报
    • 支持(6)  |   反对(8)  |   举报  |   回复
    • 主流格式还是用h264多,适配旧U和旧显卡,h265就需要比较新的硬件支持了,从影片质量来看两者基本没有差别,只是h265相同码率可以做更小的体积罢了。 ...

      支持(3)  |   反对(2)  |   举报  |   回复

      13#

    • OS_core博士 2019-11-26 20:08  加入黑名单

      可以可以

      支持(0)  |   反对(0)  |   举报  |   回复

      11#

    • 游客一代宗师 2019-11-26 20:04  加入黑名单

      06_taro在英国搬砖早就不玩了

      支持(0)  |   反对(0)  |   举报  |   回复

      10#

    • cnbeta教授 2019-11-26 19:52  加入黑名单

      游客

      程序员的世界
      2019-11-26 18:16
    • 支持(0)  |   反对(0)  |   举报  |   回复
    • 这应该是压制组的生活

      支持(1)  |   反对(0)  |   举报  |   回复

      9#

    • Azurewrath学前班 2019-11-26 19:50  加入黑名单

      大分辨率编码测试可以试一下打开wavefront、分tile编码等。不过x265的并行确实不算好。

      支持(0)  |   反对(0)  |   举报  |   回复

      8#

    • tzw0745研究生 2019-11-26 18:49  加入黑名单

      倪嘉声 博士

      这文章跟解码没半毛钱关系。
      2019-11-26 18:32 已有1次举报
    • 支持(20)  |   反对(0)  |   举报  |   回复
    • 编码解码傻傻分不清楚

      已有1次举报

      支持(6)  |   反对(0)  |   举报  |   回复

      7#

    • 游客 2019-11-26 18:40

      核心多是吧,装完X就想跑?你知道我有多羡慕吗!!!

      支持(3)  |   反对(0)  |   举报  |   回复

      6#

    • 游客 2019-11-26 18:17

      vigo93 教授

      然而大部分人都是直接打开QQ播放器 顶多是potplayer直接播放 极少数去下载解码器渲染器插件去自己调
      2019-11-26 18:08 已有7次举报
    • 支持(6)  |   反对(8)  |   举报  |   回复
    • 调了正常人用的显卡也撑不住

      支持(0)  |   反对(0)  |   举报  |   回复

      4#

    • 游客 2019-11-26 18:16

      程序员的世界

      支持(0)  |   反对(0)  |   举报  |   回复

      3#

    • vigo93教授 2019-11-26 18:08  加入黑名单

      然而大部分人都是直接打开QQ播放器 顶多是potplayer直接播放 极少数去下载解码器渲染器插件去自己调

      已有7次举报

      支持(6)  |   反对(8)  |   举报  |   回复

      2#

    • 游客 2019-11-26 18:08

      核心多是吧。

      支持(0)  |   反对(0)  |   举报  |   回复

      1#

    我来评论
    为你推荐