视频软编码的时候 M1 确实不如八核 i9

2021-07-22 13:15:57 +08:00
 minsheng

刚刚编译了一个有 Apple NEON 补丁的 ffmpeg,随便拿了一集 Rick and Morty,用 x265 做了一个压片测试,结果如下:

Intel 的结果:

encoded 34437 frames in 731.41s (47.08 fps), 1413.17 kb/s, Avg QP:29.99

________________________________________________________
Executed in  731.75 secs    fish           external
   usr time  132.28 mins  140.00 micros  132.28 mins
   sys time    1.63 mins  756.00 micros    1.63 mins

M1 的结果

encoded 34437 frames in 804.03s (42.83 fps), 1413.12 kb/s, Avg QP:29.99

________________________________________________________
Executed in  804.08 secs    fish           external
   usr time   91.92 mins    0.09 millis   91.92 mins
   sys time    0.41 mins    1.30 millis    0.41 mins

感觉有两点:

12650 次点击
所在节点    Apple
78 条回复
moonkiller
2021-07-22 13:21:46 +08:00
单一项测试没有意义
你还没测 4K 等其他分辨率的

这里有个其他人的测试
<amp-youtube data-videoid="Yv8liIkcbAs" layout="responsive" width="480" height="270"></amp-youtube>&feature=emb_title
lloovve
2021-07-22 13:22:23 +08:00
这俩功耗差的不是一点半点
wellsc
2021-07-22 13:23:54 +08:00
看功耗
icyalala
2021-07-22 13:42:25 +08:00
不太清除楼主用的编译选项和编码方式。。
如果只用 CPU 编码的话,Intel 上能用到 AVX2 之类的 SIMD 加速,ARM 的 NEON 是比不上的。
苹果的 M1/A14 有 AMX2,性能大约是 NEON 的两倍,
但是这个指令集并没有公布,只能通过 Accelerate.framework 访问。
如果只使用 NEON,同等条件下可能比不过 Intel/AMD 的。
ililu
2021-07-22 13:45:37 +08:00
入门级产品干嘛要和 i9 比?
minsheng
2021-07-22 13:54:47 +08:00
@icyalala 用的是 x265 软编码,Intel 用的是 Homebrew 版本,M1 用的是 https://github.com/Vargol/ffmpeg-apple-arm64-build 。编码选项用的是 constant RF = 25 。

> 如果只用 CPU 编码的话,Intel 上能用到 AVX2 之类的 SIMD 加速,ARM 的 NEON 是比不上的。

我好奇的就是能不能比得上,我感觉好像已经很接近了。
zhchyu999
2021-07-22 13:56:42 +08:00
楼主说的是实际测试结果。可是 2#、3#和 5#这样的忠诚的粉丝回复的是啥,无脑护主
icyalala
2021-07-22 14:10:58 +08:00
@minsheng 看了下那个 patch,主要还是用了 <arm_neon.h> 里的 intrinsics,适配的是通用的 arm64 架构,
如果用苹果的 Accelerate 里面的 API 的话,应该还能有些提升,但是那样就不通用了。
wydinhk
2021-07-22 14:18:38 +08:00
@zhchyu999 结果差不多的情况下,功耗确实是差别最大的啊。。。M1 的 CPU 软编顶多跑到 20W,16 寸没用过,i9-9880H 满载功率怎么也得有个几倍吧,网上看过数据 macOS 下 cinebench 70W,win 下 PL1 能到 100W……
expy
2021-07-22 14:28:00 +08:00
可以把 preset 开到 slower 试试,发片那些压制组最低都是这个设置。
我的陈年 i3 转码 480p 都慢成🐶

ffmpeg -i input.mp4 -c:v libx265 -crf 22 -preset slower -c:a copy output.mp4

encoded 305 frames in 114.22s (2.67 fps), 419.26 kb/s, Avg QP:27.60
yzwduck
2021-07-22 15:01:21 +08:00
> M1 的 usr time 比 Intel 小

因为 Intel i9 是 8 核心 16 线程。16 线程的 usr time 加起来,比 8 线程的 usr time 加起来多是正常的,即使前者的 wall time 要少。
mikeven
2021-07-22 15:08:34 +08:00
问题是 M1 是 4 大核加上 4 小核,本质上是 4 核处理器,,都快打平了 8 核 i9 了,,这还怎么比
M1X 据说是 8 大核,到时候可以比比
zhs227
2021-07-22 15:08:50 +08:00
如果用 videotoolbox 来利用 m1 的硬编能力,就吊打 i9 了。纯软编 m1 肯定比不过 i9,吃惊的是差异没有想象中的大。
longbye0
2021-07-22 15:15:21 +08:00
有谁对比过 M1 硬编和 nvenc 吗
devcat9
2021-07-22 15:16:27 +08:00
中高配 i9 MBP 两三万。。。
中高配 M1 MBP 一万多。。。

怎么比
muntoya
2021-07-22 15:23:56 +08:00
降频主要是因为发热问题,不止 CPU,独显不小心启动更可怕。如果是短时间爆发比如开发编译,i9 还是挺好的。
lloovve
2021-07-22 15:24:24 +08:00
@zhchyu999 你从哪看出我是忠粉,你这脑回路真清奇,我都没有 M1,我只是说了功耗不一样,有问题么,你是无脑黑才对。
MrKrabs
2021-07-22 15:40:08 +08:00
四小核也就一个大核的水平吧
MrKrabs
2021-07-22 15:42:16 +08:00
我经常用 m1 压片,15w 的功耗这速度已经不错了
erwin985211
2021-07-22 15:44:26 +08:00
所以 m1 只铺低端线呀。不过就 mac 那种散热设计只能五秒真男人吧,物理法则是无法抗拒的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/791040

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX