29 January 2015 Update: When using in conjunction with Full Frame Processing mode introduce in Nuke 8 and newer, I find the read speed should not be a concern unless you are dealing with really long shot duration (around 100 frames and more).
07 August 2014 Update: Another interesting finding I’ve encounter when working on my current project is that EXR with ZIP compression scrub faster than TGA albeit with tearing on the display. Still TGA is much faster when playing back sequentially on the viewer.
22 July 2014 Update: TLDR, I recommend PNG if you also need to key out the scene other than roto while high quality JPEG should suffice if you strictly roto only. The quickest file format to scrub still goes to TGA in my benchmark.
Image Sequence Scrubbing Speed Woes
My first introduction to Nuke is all about rotoscoping. Yup that’s way back in 2010 after a quick stint of rotoscoping training at Double Negative Singapore using their in-house roto tool.
One thing I noticed that their systems are optimized to work at 2k res and higher for the image sequence (although I’m not sure what file format they used since I’m a complete newbie to compositing at that time). Although I believe all featured film production at least work with minimum of 10-bit Cineon or DPX format since 8-bit format lacks the information for serious compositing/grading process.
The Benchmark Methodology
Using a 8-bit H.264 footage that is recorded using a Canon 550D DSLR that has been modified to use Magic Lantern firmware, I use a chase scene that I recorded from a laser tag event at my university. The image sequence scene contains 316 frames. After converting the footage to their respective file format, it is then loaded into Nuke and I scrub the image sequence quickly from the beginning to the end together with a short burst of scrubbing on a small area.
File Format Scrubbing Comparison
I noticed that scrubbing an image sequence of JPEG format is quite fast although not instantaneous.
But when using PNG format, it struggle even more than JPEG as the whole image updates really slow.
For TIFF format, scrubbing through it result in a noticeable scanline update on the viewer but it performs faster than both JPEG and PNG.
Another popular format that is TGA (Targa), it scrubs smoothly but the huge file size like TIFF is not encouraging for users who have limited hard disk space (somehow a common thing among local college/university students although I’m not going to preach on the importance of storage in this article).
The Result
From the fastest to the slowest when scrubbing: TGA TIFF, JPEG and lastly PNG.
File Format | Size | Scrubbing Speed | Average file size per frame |
---|---|---|---|
JPEG (4:4:4 subsampling , Quality: 1.0) | Smallest | Average | 1.952 MB |
PNG (no alpha) | Medium | Slow | 2.322 MB |
TGA (RLE Compression) | Large | Fastest | 5.632 MB |
TIFF (LZW Compression) | Largest | Slowest | 5.664 MB |
I’ve yet to try benchmarking using uncompressed TIFF but rotoscoping purpose, I see no incentive to use it as TGA with RLE compression is similar in size to TIFF with LZE compression as seen in the above table. Using uncompressed TIFF should result in a much larger file size.
The specs of my current workstation can be found here.
So Which Format Should I Use?
If you have limited storage space, I suggest using JPEG instead of PNG. Whenever possible, do work in TGA as it offers really fast speed when scrubbing an image sequence.
Do take note that when the file has been cache into RAM, all format performs the same as the image has been processed by Nuke for its internal use.
Remember Nuke 8 introduced the Full Frame Processing mode in the Viewer so the penalty performance hit when scrubbing the footages can be minimise provided you cached the whole shot duration which is useful when doing rotoscoping job.