Are some file codecs quicker than others? There are numerous completely different picture file codecs on the market, and so they all have completely different options. However if you queue up your composition to render and select a Prores or MP4, or a TIFF or a JPG, the very last thing you’re most likely eager about is that if rendering one format is quicker than one other…
However the efficiency variations between the varied codecs are fairly vital, and never one thing that ought to be ignored. Take a second to consider {hardware} upgrades. In case your render takes quarter-hour, how a lot would you spend to make it take 10 minutes, or 5 minutes? If you may get a quarter-hour render all the way down to solely 90 seconds, then you definitely’ve made it 10 x quicker. That’s a reasonably large enchancment, and would characterize a number of generations of {hardware} and doubtlessly hundreds of {dollars}.
However what if you may get the identical enhance in efficiency simply by selecting a special file format? At no cost, proper now, with no new {hardware}?
In case you’re utilizing PNG recordsdata, then you possibly can. All you need to do is cease utilizing them.
The video has all the main points, however right here’s the abstract.
Just a few years in the past I wrote an intensive sequence on After Effects & Performance, which spans 18 articles and about 100,000 phrases. As a part of that sequence, I attempted benchmarking varied file codecs to see if there was a lot of a efficiency distinction between them. To my shock, I found that PNG recordsdata are actually, astonishingly sluggish. A lot slower than another file format.
In a single take a look at, the PNG render was over 20 occasions slower than different codecs resembling JPEG, TIFF and Prores. Whereas I wrote concerning the results in Part 14 of the Efficiency sequence, the unbelievable slowness was so sudden that I puzzled if it was a bug. However apparently not.
It was so shocking that I all the time meant to re-check the outcomes once more, which is what I’ve finished right here. These are easy benchmarks that solely take a look at the velocity variations of the varied file codecs themselves – there’s no different picture processing or results rendering occurring.
The take a look at renders had been solely 50 frames lengthy, however that was nonetheless sufficient to display clear variations in rendering occasions between the varied codecs. Though I additionally examined rendering at varied bit depths, there was hardly any efficiency distinction right here. This was shocking to me, but additionally good to know. Whereas plugins and different picture processing might be slower when working in 16 or 32 bit modes, it’s good to know that file codecs themselves don’t appeared affected.
Benchmarking correctly is difficult, but additionally very tedious. A number of the render occasions right here fluctuate by just one or 2 seconds. If I’d run the identical checks a number of occasions and averaged the outcomes, I’m fairly positive these variations would disappear. It’s commonplace to strive rendering the identical factor many occasions and have the occasions fluctuate by a second or two.
However the distinction between quarter-hour and a pair of minutes? That’s not going to vanish.
Are we the unhealthy guys?
One of many motivations for testing completely different file codecs is the persistent notion that EXR recordsdata are sluggish, or no less than further sluggish in After Results. That is additionally one thing that I’ve written about extensively, first in 2018 and extra just lately after I regarded on the DWA compression type.
Up till 2019, there was some reality to this rumor. There was a bug in the way in which that After Results handled some sorts of EXR recordsdata, which made them very sluggish. The bug solely affected multi-channel EXRs, and solely as soon as they obtained to a sure file dimension, so a small EXR file with solely RGBA channels can be superb. That is most likely why it took so lengthy for the bug to be found. For After Results 2018 and 2019, you would manually set up an up to date model of the EXR plugin to work across the bug, after which Adobe utterly overhauled EXR help with the discharge of After Results 2020.
This can be a fairly vital factor to grasp.
EXR help in After Results was utterly overhauled greater than three years in the past, and any suggestion that EXRs are sluggish is now merely fallacious.
The EXR file format was developed by Industrial Gentle & Magic particularly for digital visible fx, and it stays the business customary file format for vfx and high-end submit manufacturing. Anybody working with HDR photos, or with 32bit floating level tasks in After Results ought to be utilizing EXR recordsdata. It’s a no brainer.
Actually, the query is why would you employ PNG recordsdata? There’s a phrase for anybody who suggests you must use a PNG file and that phrase is “fallacious”.
If you wish to render to an 8 bit picture sequence with an alpha channel, no less than use TIFFs. You possibly can select to make use of LZW compression to maintain the file dimension down and so they’re massively quicker than PNGs. With out LZW compression, they’re even quicker however the file sizes will probably be a lot bigger.
So the lesson is straightforward:
Don’t use PNGs!
The EXR format truly provides a number of various kinds of picture compression, together with zip. My very own desire is to make use of the DWA algorithm, which I write about here. Possibly I’ll strive some extra benchmarks particularly taking a look at EXR compression sooner or later…
There are many graphs within the video above, and to save lots of you attempting to hit the pause button on the proper time, I’ve included most of them beneath.
Keep in mind that these are comparatively quick renders – 50 frames solely – and as talked about above, variations of 1 or 2 seconds are fairly regular. However not 800 seconds. That’s not regular.
Anyway I’ve been writing After Results articles and tutorials for over 20 years, so please take the time to check out my other articles.
Leave a Reply