8

Final Cut Pro X: 从各渲染阶段分析性能需求

 3 years ago
source link: https://zhuanlan.zhihu.com/p/372728584
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Final Cut Pro X: 从各渲染阶段分析性能需求

苹果产品话题下的优秀答主

很多人一提到剪辑视频, 第一个反应就是吃显卡(GPU), 需要 CUDA 加速才能流畅「渲染」.

听起来没错, 但是不同的剪辑软件的处理流程都有所不同. 甚至一个软件本身也可以选择不同的流程, 从而绕过某一个硬件短板对整体性能的影响.

基于这个设定, 想要了解 FCPX 的性能需求, 就必须从工作流下手. 逐环节的了解每一步都在做什么, 需要哪一方面的性能, 以及这个环节的一些处理方面选择对后续环节的影响.

按照步骤拆解为:

  • 原始媒体(Original)处理, 输出:
    • 代理媒体(Proxy): 解码原始媒体, 输出 ProRes 422 Proxy(帧内编码)/H.264(新增加, 码率更低, 存储效率高) 的低分辨率到媒体库, 可以比较轻松的渲染和预览
    • 优化媒体(Optimized): 解码原始媒体, 输出和ProRes 422 素材, 有着更快的渲染速度和预览效率
    • 这两个过程都涉及到解码器和编码器的工作, 如果没有兼容的硬件编解码器(如 4:2:2 色彩抽样素材), 则会调用 CPU, 如果 CPU 不够强, 就会出现整个设备卡顿影响操作; 在 Intel 笔记本上容易引发过热、发出噪音, 进一步降低性能、且严重影响旁白录音等工作
    • RAW 是特殊的媒体, 还需要 GPU 或者 Afterburner 加速卡解拜耳运算, 并且在调色的时候都需要处理
    • 可以在导入界面创建, 也可以在媒体库中右键创建. 信息页中可以看到这个片段素材的表现形式
    • 这个过程中也可以进行分析处理, 如识别人物和画面曝光, 需要额外用到 CPU/GPU 性能
    • 不管是直接导入媒体库, 还是创建代理/优化媒体, 都需要向媒体库写入数据, 涉及到本地 IO 和外设 IO 性能
  • 当素材被拖入时间线, 就可以进行相关编辑操作, 开启「后台渲染」, 就会在没有操作的时候开始渲染
    • 变形/裁切/调色/变时/风格化/转场/叠加其他元素 意味着素材在时间线上的内容发生改变, 就需要通过渲染过程生成渲染媒体, 意味着编解码器、CPU
      • 渲染过程优先调用的是优化媒体, 其次是源素材. 如果你的剪辑设备性能很差, 则建议关闭后台渲染, 仅通过代理媒体的处理实时预览
    • 降噪/防抖等效果还需要解码后经过 CPU/GPU 的分析, 然后调用
    • 如果素材未经修改的放在时间线, 且和项目规格(分辨率和帧率)相同, 则无需经过处理
      • 比起对片段使用 LUT 效果器, 信息页的 LUT 选项并不会让画面重现渲染, 是一个降低性能需求的方法, 但也减少了可以干预的空间和特定风格的自动化效率
    • FCPX 会分析剪辑的操作影响了哪些片段, 从而避免不必要的渲染; 重复片段也不会重复渲染.
  • 素材预览过程包含了两部分选项:
    • 如果片段已经渲染完成或者未经处理, 则会播放渲染媒体/原始媒体, 一般都是非常流畅的, 除非碰到无法流畅硬解/软解的原始媒体
      • 这其实就是 PR 的 HEVC 素材预览非常卡的原因, 因为导出前没有渲染完成, 万一不支持 HEVC 硬解, 那么这个过程就会同时对 CPU/GPU 产生很大压力
    • 在预览片段没有渲染完成时:
      • 质量选项, 当各方面性能没有短板时, 可以以高质量流畅预览, 否则建议开启更好性能模式, 画质会下降
      • 媒体源选项, 优化媒体就是高性能渲染回放, 原始媒体因为还需要解码, 可能会卡一点; 如果性能较差, 则建议开启优先使用代理/仅代理, 低分辨率的代理素材对性能要求较低
    • 导出过程一般会同时进行渲染和片段的编码工作, 当然片段输出前都必须是已经渲染好的, 所以后台渲染能够加速导出的效率(大部分片段已经提前渲染好), 导出只是一个编码 H264/H265 的过程, 甚至可以做到直接输出 ProRes 帧内编码母带(主要吃硬盘 IO 速度)

所以 Final Cut Pro X 的高性能可以归因于:

  • 软硬件结合
    • 充分利用硬件编码器性能(Quick Sync, Apple T2, M1, AMD GPU)特别是 M1 还支持了 422 解码
    • 充分利用多核 CPU 和多 GPU
      • Metal 的支持比 OpenCL 更加深入, Intel/AMD/Apple Silicon/Nvidia(开普勒) 均可用, 避免 PR+NV+CUDA 这种过度耦合的情况
      • ARM 和 x86 都能充分利用 SIMD 指令集(NEON/SSE/AVX/AVX512)
  • ProRes 的优化、代理和渲染媒体介入了各个流程, 在不牺牲质量的前提下, 帮助回放流畅, 让渲染和导出更快
    • 就是比较吃硬盘, 特别是低码率高规格 HEVC 素材产生的 ProRes 渲染媒体可能会是原始素材容量的几十倍
    • 虽说水果硬盘比较贵, 但是至少性能有保障, 大不了你还可以外接 NVMe SSD
  • 后台处理机制, 让用户没有在预览的时候能利用闲置运算能力提前完成渲染

综合上面的过程, 在选购 Mac 的时候一定要注意:

  • 足够的内存/显存, 帮助缓存素材、渲染中内容和渲染结果, 8GB 是起步线, 想要剪辑更为流畅建议力所能及的加, GPU 也是如此, 尽可能选择更大容量 VRAM 的型号
  • 足够快和大的存储, ProRes 的码率非常高, 如果存储小而慢, 那么保存将是一个很痛苦的过程; 如果你不幸选择了丐中丐型号, 考虑到 Mac 配置了雷电接口, 可以考虑外接 NVMe TLC SSD, 推荐 1TB 起步, 如 SN750(带缓存)搭配 Intel 方案的硬盘盒, 追求性价比可以选 SN550+20G 方案的 Intel 硬盘盒, 比选择高容量 Mac 划算
    • 外置存储还有个好处就是, 可以在低性能设备用代理完成剪辑(通常是粗剪), 然后连接到高性能 Mac 上去渲染输出, 对于团队来说是加快效率和节约硬件开销的方案
  • 相对没有短板的解码、CPU 和 GPU 性能. 这里要注意的就是这两者通常是互相制约, 比如渲染依赖已经解码、分析和落盘的速度. 如果解码能力差的 Mac 碰到很好的 CPU 和 GPU, 看到结果通常就是后面两者趋于闲置; 过强的 GPU 搭配较弱的 CPU, 就会看到 GPU 处理负载上不去, 而 CPU 处于跑满到影响操作流畅性的程度

像 M1 经常被推荐的原因, 就是其 CPU/GPU 性能较以往同级别设备性能强很多, 而且有着最强的解码器, 能够充分发挥 ProRes 机制, 乃至现在相机/手机普及的 HEVC 编码的高存储效率, 而非被其拖垮.

低配的 8+256 可以用来剪辑FHD60p/4K30p 级别的内容, 当然内存比较紧张, 外接存储一般也少不了, 所以不管怎么样 7C GPU+16+256 的 MacBook Air 就是底线了. 教育优惠 8500 左右可以入手.

像 MacBook Pro 13 寸的 16+1TB 就是典型的甜品剪辑笔记本配置, 当然想用的爽建议加到 2TB 存储. 如果预算紧张也可以考虑256G+16G外接 SSD 的方案.

以及不需要笔记本的外出移动性, 还有 Mac mini 可以选择, 固定的设计加上可选配 10G 网卡, 让存储的成本进一步降低.

还有就是最近新出的 iMac, 考虑到还搭载了 24“ P3 4.5K 屏幕, 需要修照片的话就更加建议选择了. 市面上常见还是 LG 的 27 寸 4K sRGB 面板, 一方面容易放不下, 另外色彩也不适合目前开始普及的 HDR bt.2020 色彩空间内容.

16G 可能在剪辑的时候内存较为紧张, 但是综合性能还是相当值回票价. 如果真的有需要大内存多任务处理、重度调色渲染需求, 建议直接一步到位考虑 iMac 27 5700XT 16GB 或者 MacBook Pro 5600M 8GB的型号. 前者带 5K 屏幕可以自行升级内存, 算是很多工作室的首选, 特别是现在 DIY 市场显卡价格飞涨的情况下.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK