Red to Green

I’ve been an AMD GPU user for a decent amount of time. Back in the day I used an ATI All-In-Wonder card in my Windows XP MCE PC, and kept with that pattern until it stopped being supported. There were some GeForce cards in there, but I was on Team Red for the most part. Then, I started editing video.

I’m not en expert at editing video by any stretch of the imagination. I go to my kids’ sporting events, point my camera at ’em, hit the record button, and just … keep the lens on my kid. At first I shot video with my phone like any other parent, but I grew to dislike the video quality: the image stabilization on my regular iPhone 12 was lacking. So, I pulled my OnePlus 7T out of the drawer, factory reset it, and used its nice optical image stabilization feature to get some steadier footage. The mic in that phone was marginal at best, though, as the right channel liked dropping out at random. That’s when I started recording video on both phones simultaneously and combining the video from the OnePlus with the audio from the iPhone, but that’s exactly as dumb as it sounds.

It was time to upgrade. I put the iPhone into a cage, mounted an external mic to it, and sat it all on a gimbal. That made a huge difference in audio quality and picture smoothness, but it still wasn’t what I was looking for. eBay held my answer: a Sony a6400 mirrorless camera. B&H held the other part of the answer: a zoom lens that was good enough to get me close to the action (so to speak) but light enough to sit on the gimbal. The external mic worked just fine with the camera too, so I was pretty much all set.

I started noticing the roughness around the edges of kdenlive, so I installed DaVinci Resolve. This is where the drama began. See, I was on Pop!_OS at the time, and for the life of me I couldn’t get Resolve to play nicely with my Radeon RX 6750 XT, so I hopped over to EndeavourOS and … magic. Resolve worked beautifully, but there were so many workarounds I had to employ in order to get it to work it was nuts. The free version of the software didn’t support the CODEC the camera used, so I had to transcode before editing. Then, once I finished, I had to transcode after exporting, since the files that came out of Resolve were enormous.

I simultaneously got sick of it and wanted more, so I hit B&H again and bought a bundle containing the DaVinci Resolve Speed Editor and a Studio license. That solved the pre-edit transcode problem right away, and gave me access to a whole bunch of additional goodies. The files that were coming out of Resolve were still huge, though, but it wasn’t anything Handbrake couldn’t handle.

As the sports seasons progressed, my recording techniques got more refined, and the resulting videos started looking better. I did something that I should have done ages ago and disabled automatic white balance, setting it to 5500K and using a Datacolor Spyder Checkr 24 to calibrate instead. I also started shooting in S-Log3/S-Gamut3.Cine, which gave me a lot more control over what the finished product looked like, as DaVinci Resolve is really good for color grading. That, of course, meant that I had to learn how to color grade … which I kind of did, but nowhere near professional capacity.

I’ve been alright with the result, but it took a while to get there. The last video I edited turned out to be about 13 minutes long, but took over half an hour to render to DNxHR using the 6750 XT, and nearly 90 minutes to transcode to H.265. Additionally, as new versions of Resolve Studio were released, the number of hours spent troubleshooting OpenCL-related issues increased. I knew something was missing, but there was no way I was going to crawl back into Redmond’s cold, unfeeling arms to see what it was. So, I crawled back into NVIDIA’s cold, unfeeling arms instead by replacing the 6750 XT with a 4070.

Instantly, 80% of my games broke. That was my fault, though, as I’d set a bunch of command line arguments in Steam to force certain operating modes; as soon as I removed them, everything worked. Cyberpunk 2077 runs at 2560×1440 with RT High settings, between 50 and 60 fps at all times. The fans on the GPU simply don’t spin most of the time, which makes the machine sip power when it’s idle. The real test, though, was Resolve Studio: what would happen on first launch?

As I had already replaced all AMD OpenCL packages with their NVIDIA counterparts, first launch was completely unremarkable. The software started, which is a low bar to clear but one that I couldn’t necessarily pass with the 6750. Second test: open the last video I edited and see how long it took to render. Recall that the total process took two steps (render + Handbrake) and around 2 hours before. With the 4070, it took less than 10 minutes and a single step. With the NVIDIA drivers installed, Resolve can export directly to H.265 without any intermediate steps, offloading completely onto the GPU, and the resulting file is half the size on disk with identical quality. I was at a loss for words. What was I doing before?

Why did I subject myself to the excessively long rendering and transcoding times I experienced with the AMD GPU when I knew full well that the NVIDIA performed better with such projects due to the feedback from the creative team at work? It couldn’t have been in the name of open source. I try to be a bit more pragmatic than that when it comes to the software I run on top of the OS, as evidenced by the fact that I use DaVinci Resolve Studio and hardware built specifically for it, and despite the famous video clip of Linus Torvalds’s legendary opinion on NVIDIA, I’ve used their stuff before and didn’t hate it. So … why did I waste hours of my life waiting for these operations?

The question is somewhat open-ended as I haven’t really found a satisfactory answer. I knew Zen3 was a multimedia powerhouse, especially in its Ryzen 9 and Threadripper forms, but I am also conscious of the fact that GPUs are vastly different architectures and don’t have the same core competencies as general-purpose CPUs. I knew NVIDIA performed better than AMD in general and in creative workloads, but I didn’t know the performance delta was this wide. This has triggered somewhat of an existential crisis, and I don’t like it. However, what I do like is the performance — can’t argue with results after all.