Introduction
DPX (Digital Picture Exchange) is an uncompressed, lossless image format used in the film and VFX industry. While not as popular as intermediate video codecs like ProRes or DNx, it is often the go-to choice in high-end workflows when the best possible video quality is required. The downside to DPX is that since it is uncompressed, the total file size for even a short video can be massive.
For example, depending on the FPS and bit depth, a 4K clip can have a bitrate of anywhere from 200MB/s (1,600mbps) to 1.1GB/s (8,800mbps). That means that just a single minute of 4K DPX footage can take anywhere from 11-67GB of space. And if you are using 8K video, the bitrate jumps up to between 700MB/s (5,600mbps) and 4.4GB/s (35,200mbps). That is up to 266GB of space needed per minute of footage!
To give you an idea of what you may need in terms of storage speed and capacity when working with DPX, below we have a chart showing an example of what is required for a handful of different DPX variations:
DPX Bitrate and Size (23.976 FPS) |
Bitrate | Size/Min | Size/Hour |
---|---|---|---|
1080p RGB 10bit | 200 MB/s | 11.1 GB | 665 GB |
1080p RGB 16bit | 275 MB/s | 16.6 GB | 1.0 TB |
UHD RGB 10bit | 700 MB/s | 44.5 GB | 2.7 TB |
UHD RGB 16bit | 1.1 GB/s | 66.0 GB | 4.0 TB |
8K RGB 10bit | 3.0 GB/s | 177 GB | 10.6 TB |
8K RGB 16bit | 4.4 GB/s | 266 GB | 16.0 TB |
What you need in terms of storage is luckily fairly straightforward when it comes to what your system needs to be capable of in order to handle DPX files. Other aspects, such as what you need in terms of the CPU and GPU, however, are not so clear. In this article, we want to dive a bit deeper into how you can configure your storage to be able to handle DPX sequences, but also take a quick look at what kind of processing power you will need to be able to edit using DPX media in DaVinci Resolve Studio and Premiere Pro.
Primary Concern for DPX: Storage Speed
Obviously, the raw size of DPX files makes the speed and capacity of your storage a major concern. We typically recommend that the drive that is storing your media has a read speed of at least 2x that of your footage bitrate. This means that you need a drive that can do between 400MB/s and 2.2GB/s if you want to work with 4K DPX files, or 700MB/s to 4.4GB/s if you want to use 8K files.
In order to get the performance necessary to ensure that your system is not bottlenecked by how fast it can read the files from your hard drive, you are most likely going to need to do one of two things:
- Use multiple SSDs in a RAID configuration
- Use a PCIe NVMe drive
Unfortunately, both of these options have their drawbacks. RAID (even RAID that is built for redundancy) is almost always going to be more problematic than a single drive. You can use a RAID 5 or similar setup in order to minimize the risk of data loss if a single drive fails, but as we've reported multiple times in other posts, SATA SSDs themselves are actually extremely reliable and very unlikely to fail in normal use. RAID controllers, on the other hand, do not have nearly as good of a track record in our experience, and a failed RAID controller can be just as bad as a failed drive.
Add to this the fact that if you want to hit at least 2.2GB/s in order to handle high bit depth 4K DPX files, that is going to take at least four SSDs working in parallel, plus a number of "parity" drives if you value your data. The easiest way to get this would be a RAID 5 or RAID 10 with five or six drives. Depending on the size of the drive you want to use (1TB-8TB), this would get you a RAID array with a speed of roughly 2.2GB/s with a total capacity of 4-32TB. Of course, adding more drives can improve both the performance and capacity, but higher-end RAID controllers that can handle that number of drives start to get very expensive.
RAID can be very complex, so if you are looking for simplicity, a better option may be to use a single NVMe drive. The Samsung 980 Pro and Seagate Firecuda 530 NVMe drives we are currently using in our workstations are capable of read speeds of 7GB/s, which makes them more than fast enough even for 8K DPX sequences. The main downside to NVMe drives at the moment is that they are only available in maximum capacities of 4TB per drive. That means that depending on the resolution and bit depth of your footage, you would only be able to store around 300 minutes of footage of 4K 8bit, or just 15 minutes if using the highest resolution and quality (8K 16bit). However, you can use what is called Spanned Volumes or Storage Spaces to essentially merge multiple NVMe (or other types of drives) together so that it appears that you have just a single, larger, drive.
No matter which way you go, ensuring that your storage is able to keep up with your files should always be one of your top priorities when configuring an editing workstation since it doesn't matter how powerful your CPU or GPU is if your system isn't even capable of reading the video data fast enough. Only once you have your storage sorted out can you look towards choosing the right CPU and GPU to go along with it.
How much CPU and GPU Power Do You Need To Edit DPX?
The good news about DPX files is that they are easier to process than you may think. The exact demand on your CPU and GPU is going to change depending on your NLE of choice, but in most cases, and CPU and GPU that are already good for intermediate codecs like ProRes or DNx are also going to be a good choice when working with DPX files.
More powerful CPUs and GPUs, however, can help speed up tasks like exporting, but even here, the speed of your storage may become a bottleneck before your CPU is going to be the limiting factor. So if you do opt for a more powerful CPU and GPU combination to improve exporting performance, be sure to increase the speed of your storage to match; and even consider adding a completely separate drive that you can export to in order to spread out the load.
To help give you a rough idea about how much the CPU and GPU are used while working with DPX files, we recorded the load of various components while playing a number of DPX files in DaVinci Resolve Studio and Premiere Pro with an AMD Ryzen 5950X 16 Core CPU paired with an NVIDIA GeForce RTX 3080 11GB GPU:
DaVinci Resolve Studio Playback of 23.976 FPS DPX |
4K RGB 10bit | 4K RGB 16bit | 8K RGB 10bit | 8K RGB 16bit |
---|---|---|---|---|
Playback FPS | 23.976 FPS (full) | 23.976 FPS (full) | 23.976 FPS (full) | 23.976 FPS (full) |
CPU Load (AMD 5950X) |
2% |
2% (10% on single core) |
3% (14% on single core) |
4% (20% on single core) |
GPU Load (NVIDIA RTX 3080) |
8% | 8% | 14% | 8% |
Storage Load (Samsung 980 Pro) |
13% (800MB/s read) |
20% (1.2GB/s read) |
50% (3.2GB/s read) |
80% (4.8GB/s read) |
Adobe Premiere Pro Playback of 23.976 FPS DPX |
4K RGB 10bit | 4K RGB 16bit | 8K RGB 10bit | 8K RGB 16bit |
---|---|---|---|---|
Playback FPS | 23.976 FPS (full) | 23.976 FPS (full) | 23 FPS (near full) | 5 FPS |
CPU Load (AMD 5950X) |
6% (<5% on all cores) |
12% (~20% on half the threads) |
40% (equal on all cores) |
100% (100% on all cores) |
GPU Load (NVIDIA RTX 3080) |
8% | 10% | 20% | 8% |
Storage Load (Samsung 980 Pro) |
13% (800MB/s read) |
20% (1.2GB/s read) |
50% (3.2GB/s read) |
80% (4.8GB/s read) |
We're not going to play the "DaVinci Resolve vs Premiere Pro" game too much, but it is worth pointing out that DaVinci Resolve appears to be significantly better at handling DPX files than Premiere Pro. Premiere Pro was able to play the 4K DPX files with little issue with this hardware setup, but when we tried to play the 8K 10bit – and especially the 16bit – files at full preview resolution, we started to see heavy CPU usage and a number of dropped frames. So, while the Ryzen 5950X CPU we used should be just fine for playing back 4K DPX files in Premiere Pro, you likely would want to go up to a more powerful AMD Threadripper or Threadripper Pro if you plan on working at 8K resolutions.
For DaVinci Resolve Studio, however, the load on the CPU was much lower. Unlike Premiere Pro which spread the load over all the cores of the processor, Resolve seems to primarily use just one or two cores. But, even though it isn't using as much of the processor, it was able to playback even 8K 16bit DPX files with plenty of CPU power to spare.
Something else to note is that the GPU was loaded to a moderate degree, and the load increased when we went up to 8K. Oddly, 8K 10bit ended up using the GPU much more than 8K 16bit in both DaVinci Resolve and Premiere Pro, but either way, an RTX 3080 is likely a bit more than you need for straight playback of these files. Keep in mind that many of the most common effects like color correction and noise reduction are often able to utilize the GPU, so for an overall editing or color workflow, a decent GPU is still going to be critical.
The big story, however, is how much storage bandwidth we ended up using. Since we are playing back at 1x speed in this test, it ended up almost exactly matching the bitrate of each set of DPX files, plus a little bit extra since NLEs often try to "read-ahead" when possible.
This also means that especially for DaVinci Resolve Studio, the speed of your storage is likely going to be one of the biggest concerns if you want to get the fastest possible export performance. There is plenty of headroom on the CPU and GPU, but since we are already operating at 80% of what most NVMe drives are currently capable of, that means that you often won't be able to export much faster than ~24 frames a second without adding a second drive or otherwise getting more storage bandwidth. Especially if you are exporting with DPX as both your source and destination codec, you are probably going to want to have another NVMe drive to use solely for exporting.
Of course, you cannot just have super-fast storage in your system and nothing else. As you increase the speed of your storage, that leaves more room for your CPU to be able to stretch its legs. Just like all workflows, a balanced setup between the CPU, GPU, storage, and other components like RAM is what you should be striving for. In the case of DPX workflows, the speed of your storage is simply much more important than it typically is when working with other types of codecs.
Puget Systems offers a range of powerful and reliable systems that are tailor-made for your unique workflow.