Avoiding the "After Effects error: could not create image buffer"
Here's a few tips on how to avoid the dreaded image buffer error. But first a little background on why it happens...

Unlike many other compositing and 3D programs, After Effects doesn't use a scanline renderer. Instead it renders each layer and then stacks it on top of the previously rendered layers. While this gives great performance for layers that can be cached and use several times without re-rendering, it can spell disaster when you are trying to work with bigger sources and output resolutions.
While you can use Shake to zoom in on a giant 30.000 by 30.000 pixel image on an old machine, doing the same thing in After Effects takes a bit of imagination, plus a knowledge of how to tweak AE's memory settings. Basically, it comes down to the memory being to fragmented for AE to be able to hold the entire frame/layer in one contiguous piece of RAM. Here's how you avoid that from happening:
1. Set Your Preferences Correctly
Start out by making sure you have set After Effects to use the optimal settings. These should always be your default values, and you should reset them according to these settings once you have gotten around the image buffer errors!
Maximum Memory Usage: 120%
Maximum RAM Cache Size: 60%
Enable Disk Cache: On
Maximum Disk Cache Size: At least 2 GB (I use 8-12 GB, typically)
Prevent DLL Address Space Fragmentation: On

The Maximum Memory Usage tells AE how much of the total amount of installed RAM it can use as a maximum. Why 120% Maximum Memory Usage you might ask, why not 100% or even a sensible 95%? Well, since running slow sure beats running out of memory, that's why! If you set it over 100%, AE will use the harddisk as virtual memory (slow but sometimes necessary.)
The Maximum RAM Cache Size is the amount of RAM (set in "Maximum Memory Usage") that After Effects uses to load sources, render effects and composites into, plus to store already rendered frames in. The setting of 60% is a moderate one that over time has proven to work optimally for most projects. Lowering this value will slow down your rendering and previewing speed, but it is sometimes necessary in order to render large layers/comps.
The Disk Cache is where AE can off-load already rendered images/frames/layers/comps onto your harddrive instead of throwing them away when you are running short on RAM. Note that AE will only use the Disk Cache if it is faster to read a frame from the Disk Cache than it is to re-render it.
If possible, put the Disk Cache on a fast harddrive, preferably not the same as your operating system or your source material (the above screen shot was taken on my laptop, where you seldom have the luxury of three drives.)
If you're on Windows, make sure you check Prevent DLL Address Space Fragmentation, as AE will then try to keep more of the memory in larger chunks. It should be left on, unless it is causing an extremely rare crash (the reason it is not enabled by default.)
Make sure you turn off multi-processing in After Effects CS3 (and Nucleo / Nucleo Pro if you have that plugin.)
As a final step, avoid OpenGL previews, instead use Adaptive Resolution.
OK, with these settings, try to see if you can preview/render the problematic comp. If not, continue with the next step...
2. Lower the Number of Undos
Every operation that AE has to be able to Undo takes up valuable memory space. Try to Purge Undos from the Edit menu. If that doesn't help, go into the Preferences and lower the number of Undos to just a few, or even just one step. (Remember to set it back to somewhere between 20 and 32 when you've gotten the renders done.)
Still having trouble? Then let's try the next remedy...
3. Lower the Image Cache: Maximum RAM Cache Size
Even though the Image Cache will speed up renders (by avoiding having to re-render stuff) it leaves less memory to be used for other things, which can lead to the fragmentation of the memory. Here's how Michael Natkin of the Adobe After Effects team explains it:
4. Chop Up Your Sources

Unlike many other compositing and 3D programs, After Effects doesn't use a scanline renderer. Instead it renders each layer and then stacks it on top of the previously rendered layers. While this gives great performance for layers that can be cached and use several times without re-rendering, it can spell disaster when you are trying to work with bigger sources and output resolutions.
While you can use Shake to zoom in on a giant 30.000 by 30.000 pixel image on an old machine, doing the same thing in After Effects takes a bit of imagination, plus a knowledge of how to tweak AE's memory settings. Basically, it comes down to the memory being to fragmented for AE to be able to hold the entire frame/layer in one contiguous piece of RAM. Here's how you avoid that from happening:
1. Set Your Preferences Correctly
Start out by making sure you have set After Effects to use the optimal settings. These should always be your default values, and you should reset them according to these settings once you have gotten around the image buffer errors!
Maximum Memory Usage: 120%
Maximum RAM Cache Size: 60%
Enable Disk Cache: On
Maximum Disk Cache Size: At least 2 GB (I use 8-12 GB, typically)
Prevent DLL Address Space Fragmentation: On

The Maximum Memory Usage tells AE how much of the total amount of installed RAM it can use as a maximum. Why 120% Maximum Memory Usage you might ask, why not 100% or even a sensible 95%? Well, since running slow sure beats running out of memory, that's why! If you set it over 100%, AE will use the harddisk as virtual memory (slow but sometimes necessary.)
The Maximum RAM Cache Size is the amount of RAM (set in "Maximum Memory Usage") that After Effects uses to load sources, render effects and composites into, plus to store already rendered frames in. The setting of 60% is a moderate one that over time has proven to work optimally for most projects. Lowering this value will slow down your rendering and previewing speed, but it is sometimes necessary in order to render large layers/comps.
The Disk Cache is where AE can off-load already rendered images/frames/layers/comps onto your harddrive instead of throwing them away when you are running short on RAM. Note that AE will only use the Disk Cache if it is faster to read a frame from the Disk Cache than it is to re-render it.
If possible, put the Disk Cache on a fast harddrive, preferably not the same as your operating system or your source material (the above screen shot was taken on my laptop, where you seldom have the luxury of three drives.)
If you're on Windows, make sure you check Prevent DLL Address Space Fragmentation, as AE will then try to keep more of the memory in larger chunks. It should be left on, unless it is causing an extremely rare crash (the reason it is not enabled by default.)
Make sure you turn off multi-processing in After Effects CS3 (and Nucleo / Nucleo Pro if you have that plugin.)
As a final step, avoid OpenGL previews, instead use Adaptive Resolution.
OK, with these settings, try to see if you can preview/render the problematic comp. If not, continue with the next step...
2. Lower the Number of Undos
Every operation that AE has to be able to Undo takes up valuable memory space. Try to Purge Undos from the Edit menu. If that doesn't help, go into the Preferences and lower the number of Undos to just a few, or even just one step. (Remember to set it back to somewhere between 20 and 32 when you've gotten the renders done.)
Still having trouble? Then let's try the next remedy...
3. Lower the Image Cache: Maximum RAM Cache Size
Even though the Image Cache will speed up renders (by avoiding having to re-render stuff) it leaves less memory to be used for other things, which can lead to the fragmentation of the memory. Here's how Michael Natkin of the Adobe After Effects team explains it:
"Yep, it is counterintuitive, isn't it! Here's the reason. Just like aLower the Image Cache bit by bit, until the error goes away. If you have it as low as it will go (10%,) there's only one option left...
hard drive, your address space can get fragmented. So if you have the cache percentage set high, AE will try to use a lot of RAM and though you may have enough left for the next image buffer, it may be so fragmented that there is no place to put it. So by lowering the cache percentage, you reduce the fragmentation and paradoxically are able to fit that frame.
4. Chop Up Your Sources
Split the source image up into several layers (somewhere around 2.048 by 2.048 pixels each) in Photoshop, then import the PSD file as Composition Cropped Layers. Press your Caps Lock key on the keyboard (to prevent AE from trying to render a preview) and then change the preview mode to Wireframe. Open up the composition, select all layers and change their mode to Alpha Add. Finally copy all layers and paste them into a comp with the size of your final output.

It has worked for me with 16-bit images over 24.000 by 24.000 pixels.
- Jonas
It has worked for me with 16-bit images over 24.000 by 24.000 pixels.
Labels: AfterEffects, tricks, tutorials
27 Comments:
"It has worked for me with 16-bit images over 24.000 by 24.000 pixels."
and on which machine?Specs?
By
Anonymous, at Tuesday, November 14, 2006
I created all the satellite image fly-overs for The Planet which was shown in cinemas in Sweden during September 2006 and is right now showing in four one-hour episodes in SD and HD on Swedish TV.
All-in-all I delivered over 17 minutes of animation in 1920x1080, 25 progressive frames per second in 16-bit uncompressed format, which added up to around 400 GB of TIFF sequences.
All this was created on my trusty PC I built a couple of years ago when I clearly had too much time since I built my own water-cooling into a standard chassis. By today's standard it isn't a real screamer, but it still works OK.
I have a single AMD Athlon XP 3200+ (2.4 GHz I believe), 2.5 GB of Corsair PC3200 DDR RAM (CAS 2.0 timing), an Abit "NF7-S2" nForce2-based motherboard, an 80 GB Seagate 7200.7 IDE as system disk and two 80 GB Seagate Barracuda V SATA drives striped to RAID 0 configuration via the RAID controller on the motherboard. To top things off, I have one of the first-generation nVidia GeForce 6800 cards with 128 MB of VRAM.
As you can see, you can get a faster Dell system today for around $1.200...
By
Jonas Hummelstrand, at Tuesday, November 14, 2006
I got around the errors by using Gridiron Nucleo (I am currently using Nucleo Pro). Gives faster renders, and no errors at all.
By
Anonymous, at Wednesday, December 13, 2006
Since both Nucleo and Nucleo Pro is just a bridge between your After Effects user interface and hidden AE instances that render frames in the background and then push these frames into your main application, you should look at your memory settings, since it is AE that can't create the image buffer, not the plugin.
By
Jonas Hummelstrand, at Wednesday, December 13, 2006
Tack! Finally I can do renders over night without worrying over render errors in the morning!
By
Andreas, at Sunday, March 11, 2007
Hi, thanks for the article. I have one question, i'm work on amd3200+ with 160gb of hard disk and 1gb of Ram, when i try to save the "preview RAM" After Effects crash and close. some idea about this?. thanks.
By
Anonymous, at Sunday, March 18, 2007
I forgot, when i'm going to File >> export >> Adobe Premiere Pro, the type list (*.proproj) contain some
stranger chars. (my version it's AF7). Thanks again.
By
Anonymous, at Sunday, March 18, 2007
See, the strange thing for me is that my 2160x480 comp is rendering fine on the iMac G5 with 1.5GB of RAM, but when I "Collect Files" and head over to the Intel Mac Pro w/ 4GB of RAM, it gives me this error abour 1/5 of the way through.
Does that make any sense? Both are default installs of AE7.0 with no preferences touched.
By
Allen, at Wednesday, April 04, 2007
Allen,
That makes perfect sense! After Effects 7.0 is not "Intel native" meaning it runs in emulation mode on Intel-Macs. This emulation is called "Rosetta" and limits the amount of RAM used to 1 GB.
Here's more info on how to best use AE7 on Intel Macs until AE CS3 is released sometime this fall.
http://tinyurl.com/2sm54n
http://tinyurl.com/yudxjp
- Jonas
By
Jonas Hummelstrand, at Wednesday, April 04, 2007
Jonas,
Thank you immensely for this. It was invaluable information.
By
b. Touch, at Friday, April 20, 2007
The tiling thing works a treat, I have been up all night trying to do it for my uni project, I am making a huge floor for a forest
fantastic
thankyou very very much indeed
By
Anonymous, at Thursday, May 10, 2007
(somewhere around 2.048 by 2.048 pixels each)
can you clarify? is this supposed to be inches? Even if 2.048 was a solid integer, it seems awfully small.
By
Anonymous, at Wednesday, August 15, 2007
Ah, the joys of international punctuation. :-/
I meant "two thousand forty-eight" pixels.
Inches have nothing to do with video, as I recently posted.
By
Jonas Hummelstrand, at Wednesday, August 15, 2007
Thanks alot! Step 3 worked for me!
Cheers ;D
By
Anonymous, at Tuesday, September 11, 2007
This post has been removed by the author.
By
ricardo, at Saturday, September 22, 2007
hahah!!
finally i found the problems.. thanks a lot man..the step 3!!
all the best..
By
ricardo, at Saturday, September 22, 2007
ricardo,
If you have an Intel-Mac, make sure you run AE CS3. Previous versions aren't Intel-native and will only get access to 1 GB of RAM under APple's "Rosetta" emulation.
By
Jonas Hummelstrand, at Saturday, September 22, 2007
You truly are a hero, thank God for people like you and the medium of the internet otherwise i would have been arrested and reported to the RSPCC, the royal society for the protection of computers. I was about to throw it out the window. Ha ha.
By
Anonymous, at Tuesday, October 02, 2007
Thanks a lot, i have resolve my problem with step 1, and now i haven't any more this error
By
Ivailo, at Friday, October 19, 2007
excellent help. it appears step 3 fixed my problem. much thanks
By
alex, at Monday, January 07, 2008
Thanks, you saved my project! Just in time too. :)
By
Anonymous, at Wednesday, February 13, 2008
excellent help... but i have a project where i used a cc cylinder in a comp of 8000x1000, it is have 7 videos (720x480) side by side... i create a virtual set with a cc cylinder in this comp... so, the comp spin and a camera move around the comp... 30 seconds have the animation....
I heve a Mac G5, dual ppc.... 2.5gb of ram... after cs3....
I cant apply your step 4.... becase my comp have videos and not images...
how i apply split or fragmentation in this case???
SORRY BY MY ENGLISH!!!
TANK YOU VERY MUCH!!!
please...send me the ansewr in my e-mail as well...ok?
hcmush@gmail.com
MARCO...BRAZIL
By
Anonymous, at Wednesday, February 20, 2008
I checked another online resource and they had different ideas on the disk cache size- increasing to 8000MB seemed to do the trick.
thanks again
Nate,OakBrook IL
By
Nate Boe, at Wednesday, February 20, 2008
Nate,
Glad you got it working.
If you look again, I say "at least 2 GB" and I even have it set to 8 GB in the screen shot.
By
Jonas Hummelstrand, at Thursday, February 21, 2008
Marco,
It's the size of your 8000x1000 composition that is causing the problem. Do you have to show each of the seven videos in full resolution? If not, you could create a smaller composition since you won't need all that resolution.
Make sure you turn off multi-processing in CS3 (and Nucleo/ Nucleo Pro if you have that plugin.)
By
Jonas Hummelstrand, at Thursday, February 21, 2008
Jonas... You are a LEGEND !!! :)
By
Ashika Bracher, at Friday, March 14, 2008
Worked great. Thanks for your help.
By
Anonymous, at Monday, April 07, 2008
Post a Comment
<< Home