I admit my system specs are low for motion graphics (i7, 2.60 GHz, 6 cores; GeForce GTX 1660 Ti, and 16 Gb of ram on a Windows 10 Home build 18363) but even so, rendering a video (from After Effects) that has no 3D, no cameras, no lighting effects, no 3rd party plugins takes forever. A full HD project that lasts little under 17 minutes took nearly 13 hours (!) to render. And all I'm doing is keying out a green screen and animating mainly text layers. Rather shocking I'd say.
Keying a green screen is a very processor intensive task, and Keylight isn't the fastest effect. If you used the preset that also adds Key Cleaner and the Advanced Spill Suppressor, you're going to see an even bigger performance hit.
How much of the video are you keying out? Did you create a garbage matte around your subject first so you're not keying unnecessary footage?
What format are you rendering to and what type of disk are you exporting to? 16 GB of RAM isn't a lot so when your RAM fills up you have to cache frames to disk and if you're rendering to the same disk that can also slow things down.
There are definitely more details needed here to confirm whether this is normal or not, but you can also try the latest public beta of After Effects (downloadable straight from the Creative Cloud app and can be installed alongside AE 2021 with no issues; plus, you can send your project back and forth between the two versions) and use the currently in-beta Multi-Frame Rendering. Performance is pretty impressive so far and it's continuing to get better, but I suspect there are things you can do to also help improve performance without MFR.
Thanks for the swift feedback, David! Here's what I used to do: I use Ultra Key in Premiere to do the keying, then export as Quicktime mov (ProRes 444 with alpha channel) but sometimes that gave me such humongous files (30Gb for not even 15 minutes) that I soon ran out of disk space. Therefore, I tried another workflow: I still do the key in Premiere, but I then import that sequence directly in AE, add my text layers, animate them, and render out to H264 mp4 files on the SSD inside my laptop.
Ah ha! Ok, all that was great information, and I'm sorry to say that I'm not surprised at all now. Here's why:
1) You're using Dynamic Link, which is sloooooow. It's faster than it used to be, but you're rendering something from Premiere in After Effects, then over to AME (I'm assuming AME because you're rendering to H.264. If not, you're either using After Codecs inside AE or an old version of AE which still exports to H.264, but I wouldn't recommend that.)
2) ProRes 4444 is giant, but you can't win here, something will have to give. You either end up with great performance and a large file, or a small file and terrible performance. You gotta pick one. You can save on space by making sure you're not exporting more than you need to. If you're keying out a person standing in front of a green screen you can then put that comp into a new one that's only the size you need and export for a smaller (but still huge) file.
3) To add insult to injury, you're exporting directly to H.264, a highly compressed format. The more compressed the file, the more work it takes to encode. Ideally, you're exporting to an intermediate format like ProRes for your high quality export, then converting that to H.264. Just imagine if you went through all this work and decided you wanted your H.264 file to have a slightly higher bit rate. Say hello to another 30 hours!
4) As a side note, Multi-Frame Rendering in AE's public beta doesn't yet support Dynamic Link (it will before the feature is finalized and pushed to the public version), so you wouldn't save any time right now with that workflow.
To sum all this up, here's a silly metaphor: You're on a small island (computer with limited resources) and you've got a delivery from a massive cargo ship coming (hooray, parts to build an awesome tree house for your island!). However, since you're on a tiny island, there's no room for this ship to moor, so you ran a super long rope (Dynamic Link) from a tree to the ship and are slowwwwwwllly passing pieces of your packages (frames) from the ship to your island via a zip line.
Awesome! It took awhile, but you did it, and now it's time to assemble your tree house. The only problem is, you now have very little available space (resources) left on your island to assemble the tree house, so you built a smaller platform right off the side of your island and to keep things lean you're only moving a few pieces across at a time and you're assembling those pieces so you can keep your platform free (compressing the holy hell out of your footage).
Ok, I had a little too much coffee this morning and the metaphor fell apart at the end, but unfortuantely, something's gotta give with your workflow here. If you have access to fast storage (USB 3/USB-C/Thunderbolt) then I would recommend exporting that ProRes 4444 file back out of Premiere while keeping the frame as small as possible (not file size, but leaving no necessary alpha chanel. I'd then take that mega file into After Effects, do your animation, then export a final file. Note, that USB 3/USB-C/Thunderbolt alone do not mean your drive is super fast and one of those pocket drives isn't going to be great here. RAID setups and fast storage are a whole other discussion, but if you're only working with your internal SSD then it might be time to look into other storage options. And lastly, if your laptop is able to, and if you can afford it, upgrading to 32 GB RAM could help some too. You can look at the Task Manager's Performance tab to see what your memory usage is. If you're regularly pegging close to 100% then RAM is one of your bottlenecks.
Hi David, thanks again for the clear feedback and suggestions. I understand the picture, and I am trying indeed to get a lot out of a machine which is not particularly equipped for graphic challenges. Ok, I will do what I can to get that ProRes workflow back on the table. Adding SSD storage via USB3 is not quite an option, as I only have USB2 ports. Reading back on my initial post, I should correct myself and say that perhaps the one thing shocking here is my setup 🙂 Thanks again for your answer -much appreciated! 🙂
You're welcome! In that case, something to consider that you could upgrade is to put a larger internal SSD in your machine. Those are relatively cheap these days, and you could get an external USB 3 enclosure (even though you only have USB 2 ports), pop the old drive in and clone it to the larger drive, and now you have an external hard drive for archiving.
But I hear you, it's hard working with limited resources. I definitely respect your clever thinking with the workaround, it's just a shame that it wasn't the perfect solution you were hoping for.
Hi David, I think I'm stuck with this machine for a while. I have mentioned this to my employer, and there is a chance I may get a better laptop -won't be anytime soon, though. I'm glad I know now what caused those very lengthy rendering times -had no idea Dynamic Link was such a bottleneck. Thanks for all your help and advice!
@davidarbor I'm sorry to have to reopen this, truly am. I exported a ProRes 4444 from Premiere (so I'm not using Dynamic Link at all now), but I'm still looking at 6,5 hours for a 9 minute video. Apart from hardware upgrades, is there anything I can try to reduce these rendering times?
No worries. You need to find out where your bottlenecks are to accurately answer the question of whether there's anything you can do other than upgrading your hardware. Can you post a screenshot of the "Performance" tab of your Task Manager when encoding is in full swing? This will tell you how much of your CPU, RAM, GPU, and disk are being utilized.
Other than that, were you able to reduce how much of your shot you were keying out, like I suggested above? If you're only keying part of the frame by masking the subject and THEN keying, you'll be keying out far fewer pixels than if you're processing the entire frame, even if you won't actually need those keyed out areas.
Hi David -see screenshot attached. I see that my nearly all my memory is being used and that there is hardly disk space to work with. Neither come as a surprise. I did the keying as you suggested and cropped it as much as possible. The filesize of the ProRes4444 .mov was indeed significantly smaller but I would have thought rendering times of my final AE project were going to be a lot shorter, and that is not quite the case. Maybe my system is just too weak.
Yeah, RAM is definitely a bottleneck here. When you fill up your RAM you start to offload things to virtual memory, which is a file stored on your hard disk. RAM is significantly faster than hard drives, so this process of offloading or "swapping" from RAM to your hard disk and then recalling those files from your hard disk is slow and is surely contributing to your speed issues.
So unfortunately, yes, this is a case of your system not having enough resources. I can't say how much faster things would be if your company were able to double your RAM to 32 GB, but any time you can remove a bottleneck where you're utilizing close to 100% of a specific resource, you should see performance gains.