fbpx
Welcome, Guest
Username: Password: Remember me
{JFBCLogin}
25 Jan 2021
New boarders will have their posts moderated - Don't worry if you cannot see your post immediately.
Read More...
  • Page:
  • 1

TOPIC:

FCPX Renders & Exports - SSD Speeds vs Processor Speeds on Mac Studio M1 Ultra 10 Aug 2022 22:10 #121798

Hi, Longtime FCPX editor with a new Mac Studio M1 Ultra & Apple Studio Display. I'm trying to determine which SSD is better to use. I'm comparing 3: the internal SSD, an external USB-C 3.2 SanDisk Extreme Pro & an external USB-C 3.2 Oyen Digital U32 Shadow. Each test is performed with the same single 5-minute 4k 60fps piece of test footage which I copied to each source independently with its own Library & with the imported file being copied within their own libraries. Then a single timeline with that single file with multiple effects. It's obvious from the BlackMagic Disk Speed Tests which is the slowest & which SSD is the fastest, but when I perform timed rendering & exporting tests in Final Cut Pro 10.6.4 in macOS 12.5, every single SSD takes the exact same amount of time, give/take a few seconds. So it appears to me that all 3 of the SSDs are faster than the M1 Ultra processor. Which is impossible, correct? That's about all I can conclude from these tests. Am I missing something here? I'm trying to determine which external SSDs to invest in, but it seems irrelevant if they are fast or slow models. I sure hope someone can help explain this to me. Are my real-world tests inaccurate? Thank you!-Doren
Attachments:

Please Log in to join the conversation.

Last edit: by StripedShirtMedia.

FCPX Renders & Exports - SSD Speeds vs Processor Speeds on Mac Studio M1 Ultra 11 Aug 2022 01:53 #121799

  • joema
  • joema's Avatar
  • Offline
  • Platinum Member
  • Platinum Member
  • Posts: 2250
  • Karma: 27
  • Thank you received: 557

...So it appears to me that all 3 of the SSDs are faster than the M1 Ultra processor. Which is impossible, correct?...I'm trying to determine which external SSDs to invest in, but it seems irrelevant if they are fast or slow models. I sure hope someone can help explain this to me. Are my real-world tests inaccurate? Thank you!-Doren

I have an M1 Ultra and have done lots of performance testing. For many commonly-used codecs, once you get over about 1,000 megabytes/sec the I/O rate doesn't matter much. Even though the M1 Ultra video accelerators improves encode & decode performance, and even with no effects, the software code path becomes effectively compute limited. This is regardless of whether that shows up on CPU or GPU graphs. The accelerator activity is not instrumented and does not show up in any current monitoring tool I'm aware of.

One reason is the parallel accelerators cannot apparently work (currently) for single-stream Long GOP codecs such as H264 and HEVC. In theory each GOP is independent, and could be accelerated by a separate video engine. That would require segmenting the file, figuring out the GOP boundaries, dispatching segments to separate accelerators, keeping track of the async API calls to the Video Toolbox framework, then reassembling the segments. If done properly on export, FCP could use four parallel hardware encoders (in theory). See attached diagram of various M1 video engines.

However some Long GOP formats use *dependent* GOPs which cannot be processed in parallel. Each GOP must be sequentially processed before the next one because the algorithm requires the result of the first to begin processing the next. Formats using dependent GOPs probably would not benefit from parallel accelerators for single stream operations. Also, before the M1 Max and Ultra, no CPU (by Intel, AMD or anyone else) had multiple video accelerators. There was never a need to handle that since the hardware did not exist. Maybe in future versions of MacOS and FCP the Max & Ultra video engines can be more fully used.

With single-stream ProRes, regardless of how many accelerators are used the M1 Ultra is incredibly fast at encode/decode. For example if transcoding 4k ProRes 422 to ProRes proxies, the peak I/O rate can reach about 1,500 megabytes/sec. If using Compressor to for multi-instance transcoding of four 4k ProRes 422 files to another ProRes format, peak reading rates can 3,800 megabytes/sec and writing rates 1,500 megabytes/sec for a total I/O rate of 5,300 megabytes/sec. For that case a "measly" 500 MB/sec SSD would slow you down by a factor of 10. So I/O requirement is very dependent on codec and job type. To some degree you might encounter that even on HEVC if you create optimized media. Under the covers it is using ProRes.

But even on current versions, *multi-stream* operations (IOW multiple video layers) such as multicam can apparently use multiple accelerators right now, whether H264, HEVC or ProRes. E.g, if you create a timeline with four stacked 4k H264 files, scale each to 50% so four fit on the same screen, then fast forward on the timeline, the M1 Ultra is considerably smoother than the M1 Max. Or if you do that with 4-camera 4k H264 multicam, the M1 Ultra playback is smoother and more responsive. That is likely from using the two parallel H264/HEVC decoders.

The degree to which it's using parallel ProRes encode/decode on Compressor is unclear. I tested it a few weeks ago and it seemed to not use it for single-streams, even though Compressor can supposedly segment the file and use four concurrent instances. You activate those in Compressor Preferences>Advanced>Enable Additional Compressor Instances. On M1 Ultra you can use up to 4.

However I just re-tested it and maybe it's using the four ProRes engines in parallel, maybe even on a single file. I need to study it more.

Compressor can also use multiple instances to transcode four separate ProRes files in parallel. The progress display shows that happening but I need to re-test the scalability.
Attachments:

Please Log in to join the conversation.

Last edit: by joema.

FCPX Renders & Exports - SSD Speeds vs Processor Speeds on Mac Studio M1 Ultra 11 Aug 2022 02:44 #121800

  • joema
  • joema's Avatar
  • Offline
  • Platinum Member
  • Platinum Member
  • Posts: 2250
  • Karma: 27
  • Thank you received: 557
I just re-tested Compressor 4.6.2 to transcode a 4k/23.98 ProRes 4444 file to ProRes 422 on M1 Ultra, using both single-instance and 5-instance transcoding. That is available for ProRes but not Long GOP formats and is enabled by Compressor Preferences>Advanced>Enable Additional Compressor Instances, and selecting 4 additional, for a total of 5.

It is definitely segmenting the single input file and dispatching each piece to a separate TranscoderService process, and there is a VTEncoderService and VTDecoderService process for each instance. In Compressor's "Active" pane it shows the range of each file segment being processed by each instance. The I/O rate is very high, about 3.8 gigabytes/sec read and 1.5 gigabytes/sec write for a total of 5.3 gigabytes/sec.

However it is not dramatically faster despite doing that. When compared to single-instance transcoding the elapsed time is only about 8% faster. The peak transcoding rate is higher but there is a finishing phase that is apparently single-process, so that diminishes the improvement.

This seems similar to when multi-core CPUs first became available -- it took a while for software to leverage that. But there is no question the M1 Ultra is faster on some video editing tasks than other machines, even faster than the M1 Max. This does not always appear in a form that's easy to benchmark, so the reviewers don't often perceive the difference.

Please Log in to join the conversation.

FCPX Renders & Exports - SSD Speeds vs Processor Speeds on Mac Studio M1 Ultra 11 Aug 2022 04:03 #121801

  • Redifer
  • Redifer's Avatar
  • Offline
  • Platinum Member
  • Platinum Member
  • Posts: 1021
  • Karma: 1
  • Thank you received: 98
I have a Mac Studio M1 Ultra. Remember the read/write speed needs to be fast on both drives to really take advantage. It can only go as fast as the slowest drive when copying. However I've noticed that working within Final Cut Pro, speeds above 300MBPS or so don't matter much unless you're doing multicam. FCP will often still stutter a bit when you first start to play the timeline and then proceed to smooth out after a few seconds (I have BETTER QUALITY selected, never would I even dream of selecting that other option). The behavior in this regard is the same between my 2013 Mac Pro and my Mac Studio M1 Ultra regardless of what drive the footage lives on.

Please Log in to join the conversation.

FCPX Renders & Exports - SSD Speeds vs Processor Speeds on Mac Studio M1 Ultra 11 Aug 2022 20:29 #121811

Thanks, joema! Thank you so much for explaining in such detail. I'm finally able to wrap my head around how FCP handles situations & I'll be able to make wise SSD purchases now. Thanks again!

Please Log in to join the conversation.

Last edit: by StripedShirtMedia.

FCPX Renders & Exports - SSD Speeds vs Processor Speeds on Mac Studio M1 Ultra 11 Aug 2022 20:32 #121812

I have a Mac Studio M1 Ultra. Remember the read/write speed needs to be fast on both drives to really take advantage. It can only go as fast as the slowest drive when copying. However I've noticed that working within Final Cut Pro, speeds above 300MBPS or so don't matter much unless you're doing multicam. FCP will often still stutter a bit when you first start to play the timeline and then proceed to smooth out after a few seconds (I have BETTER QUALITY selected, never would I even dream of selecting that other option). The behavior in this regard is the same between my 2013 Mac Pro and my Mac Studio M1 Ultra regardless of what drive the footage lives on.

Thanks! Yup, exactly. Ah, gotcha, makes perfect sense. I can't wait till they update FCP to be able to take advantage of fast SSDs or even their own internal SSD.

Please Log in to join the conversation.

  • Page:
  • 1