Theo Veltman
Forum Replies Created
-
Haha.
I didn’t even have to read your whole post to know exactly where you’re coming from. I’ve had exactly the same thing over the past few months. I initially thought it was something to do with the complexity of my project (16bit HD1080) and like you I’ve tried all the variations on processors and memory. For a start you don’t have to close After effects to get all your aeselflink processors back. Just turn off multiprocessing in the preferences, click ok then turn multiprocessing back on and they’ll restart. I found the slowdown had something to do with the aeselflink processes reaching there memory capacities i.e. 2.85GB or so (I also got down to 2-10mb free memory on every render) and don’t worry about the inactive memory it’s still being used by the applications (I won’t bother explaining but it’s not wasted memory). I couldn’t find any way of limiting the amount of memory each process used to stop them exceeding there limits so I ended up babysitting my renders over night. Doing 25 frames then stopping the render just before they hung so the instances would purge the memory they were using (and I wouldn’t have to force quit them and do the turn off multiprocessing trick I mentioned) then doing another 25 frames. The best way I’ve come up with as a work around for this and also just to make better use of the systems resources is to turn multiprocessing of and instead run multiple instances of After Effects (Right click on the Adobe After Effects CS4.app and go show package Contents, Contents/MacOS/After Effects). I’ve found this the best way of using as many of the systems resources at one time as possible. I run up to six instances this way and let the OS look after the resource management. I’m not holding out any hope Adobe will be releasing a decimal update for CS4 that will help with this as I’m sure it’s would require more work than it’s worth at this point to address. I’m sure that it’s something there keenly aware of with regards to CS5 though (so hurry up early-mid next year). Hope this helps.
-
Sorry to post again but I just had a thought.
If your composition comprises lots of footage (especially HD) it’s probably best to run fewer instances of AFX when rendering, as the HDD access will be a lot. However if you’re doing mostly a motion graphics type job with masks, solids and effects you will probably see better results running more instances of AFX as this will tax the processors and memory more. Depending on the effects used you may need to scale back the processors a little and increase the ram allocation but definitely try to increase the amount of memory on your system to as much as you can afford to. I always make sure I have 2GB per physical processor (i.e. not CPU) as I find this the best medium between cost and efficiency.
-
Hi there all,
I’m not sure if I should start a new thread but since this a continuation of the original question I’ll post here first as I think anyone reading this will be interested in any responses.
I’m running a new machine (Octocore with 16Gb memory) with CS4. I’ve played around with the multiprocessor settings and have found that it’s a matter of trial and error (or just trial really) to get the best settings. I can concur with everything said above with regards to more memory per processor, however I’ve found my render times change dramatically between dedicating all the processors and all the memory, or half the processors and all the memory, to just turning it off all together (which I believe gives AFX 16 processors but only 3.5GBs of ram). Depending on how the project is set up each setup can be the fastest way to render a project. As a footnote to this, the more instances you run the more overall system overheads you will see (bus and bandwidth bottlenecks/saturation et al as mentioned above). It sounds logical but even if you had 32Gbs of memory and a blindingly fast raid array, running 16 instances of AFX would not be as fast as running only eight instances I’m sure. I could be wrong? Can anyone vouch either way?
My question is this, when you turn on multiprocessor rendering it will start a new instance of AFX for every processor you assign it and it will then dedicate the designated amount of memory to each process. However, is it possible to (maybe using a script?) tell AFX to run only two instances but assign say three or four processors (as opposed to the one) and 7-7.5Gbs of ram to each instance?
Before anyone asks why I would want to do this let me explain the method to my madness. My theory is that since each instance of AFX is accessing the HDD for the information for the next frame to render (either an image or frame from a movie, either way it’s probably in the same place as the footage for the last frame). The HDD won’t be able to keep up with the amount of accesses asked of it (being the slowest part of any modern computer (and it can’t, I’ve tested this with my 10k SATA drives (I’ll get a raid0 or 5 one day)). So running fewer instances would mean mean that the HDD wouldn’t be taxed as much. So two (or three) instances of AFX running as opposed to six or eight would be better for HDD access times. This way I would also be able to make use of all the processing power my system has available.
Any thoughts? Sorry for the long post.