Disk playback instead of RAM,
I get that 20 years ago hard drives weren't the quickest and there was a limited choice in codecs so it made sense to playback from RAM. But now we all have SSDs and DNxHR exists I don't get why AE has not been re-written to playback straight from a hard drive rather than moving it into RAM first. It would be great for AE to playback from disk with a choice of codec and bit depth dependent on a users needs and system capability, much in the way that Resolve does with smart cache (see pic). Uncompressed I gather would be a strain on most systems but this is overkill anyway, certainly for playback - I challenge anyone to point out any differences between uncompressed and DNxHR HQ and if people wanted to keep working uncompressed then the option could always be there to playback from RAM but for me and I would assume many others 10bit DNx would be fine. This will mean longer timelines and smoother playback as AE isn't having to move disk cache to RAM for stuff further up the timeline when playing back.
Doesn't the new NVME 2.0 standard make this feature much more plausible for fast SSDs? Watch this vid from 0:40-2:40 https://www.youtube.com/watch?v=qej76srlFh0
Rendering and playing same sequence in PP or Davinci is 2x faster or more.
Justin Brown commented
Perfect example: If I can hit spacebar and watch my footage play realtime inside PP, why can't AE? It's 2020 and for something as simple as a piece of footage, it should play immediately like any editor or video player for that matter!
> Agreed, some time ago there was a new feature that said AE can play some video formats directly, without caching - that is bull.
It is not bull. But your description is not accurate, and the functionality is limited.
When you start a preview in After Effects, assuming the Cache Before Playback option is not enabled, After Effects will pre-cache video footage (video footage formats only: MOV, MXF, etc.; still image formats aren't included) into it's RAM cache as fast as it possibly can, prior to playback. Basically, this means that as playback moves forward, After Effects will copy frames from the footage into the RAM cache for playback as fast as it can; you can see the green cache marks fill up in the timeline ahead of the CTI. This differs from other cases where After Effects will load the RAM cache one frame at a time as they are rendered, instead of pre-caching the frames without additional rendering, as happens in this case. (That said, After Effects always tries to load frames into the RAM cache as fast as possible. If the comp can be rendered faster-than-real-time, you'll see the green cache marks advance ahead of the CTI, so there's nothing terribly special about this behavior.)
The major limitation here is that there must be no rendering involved. Only unaffected footage in a comp qualifies for this optimization. Any rendering (transforms, effects, blending modes, color management, etc.) will force the frames into the usual process of rendering before pushing them into the RAM cache.
The other limitation here is that After Effects can't decode some footage formats quickly. Decoding and debayering 8K raw R3D frames, for example, isn't likely to decode quickly enough to take advantage of this optimization. (Although enabling GPU acceleration in the project settings can help a lot with this.)
Overall, this is a small optimization, but it is helpful in certain cases and helps streamline the overall rendering pipeline.
In regards to the overall concept of disk playback vs. RAM playback, I agree that it would be a useful improvement for After Effects.
Agreed, some time ago there was a new feature that said AE can play some video formats directly, without caching - that is bull. I can play 4 2k DPX streams in realtime in Premiere, AE gives me like 8fps. I can play 12-15 HD Cineform streams in Premiere with almost no frame drops, AE will go like 1fps with so many streams. I don't expect the same performance but come on :/
I 100% agree with this. It's 2019 and there's better hardware out there that AE can take advantage of. And I would say there's technology in Premiere that After Effects should reference, premiere doesn't have to do any caching for previewing, just hit the space bar and everything plays.
I get that with AE there's effects and compositing involved, but still, waiting so long for a Ram preview to cache and still get dropped frames and playback issues is just not acceptable.
Victor Wolansky commented
Yes, hardware is fast enough this days to playback from HDDs and SSDs. AE is pretty fast though with some effects being render on the fly, but the problem as Chris noted, is that you are limited on the amount you can play back because of the RAM, working a lot on 4K now, and limitation is even worst.
Absolutely agreed. We have better hardware now, and Adobe needs to update their apps to meet the new demand.
Please contact me at email@example.com we can discuss this more in depth
Chris Brearley commented
Two reasons. Firstly, RAM preview tends to drop frames on first run through. Even on a timeline which is mostly cached when using spacebar to playback I will regularly experience dropped frames and audio glitches even on sections that are already in RAM. The extra process of moving things into RAM has a hit on performance.
Secondly, even on a system with 128GB RAM I am limited to around 150secs worth of RAM in a HD timeline. If AE played back from disk then you could conceivably cache 120mins worth of 4k using DNxHR using a 1TB spinny disk turning AE into software capable of onlining a feature.
What is the source of the issue ? RAM preview not working smoothly ? Taking up too much RAM (not enough RAM for others applications or AE) ?
Chris Brearley commented
Disk cache still has to go into ram as do any source files. Completely unnecessary. Don't know of any other video software that does this in the way that AE does.
Tristan Summers commented
isn't that exactly what your disk cache is? MOst source files already playback in realtime if your disk is fast enough. So get nvme, or two, or four, raid them together and make them your cache. See if changing prefetch settings is needed to bypass RAM like ioFX had to... Put OS on an SATA SSD if you only have one nvme
Maybe there's already a software to do the reverse of RAMDisk ?