If the FxTree crashes when you open it, it is because….

May 4th, 2007 by Luc-Eric - Viewed 2019 times - Popularity: 27%




The FxTree is cool - and I profoundly admire the person that made it - however it really doesn’t handle well not being able to allocate memory and the memory settings are not intuitive.

If the FxTree crashes when you open it, it is because of one of these two causes:Fx Tree Preference

  1. the RAM settings are too high
  2. you’re running out of disk in the drive where the %TEMP% (or $TMP on unix) variable is pointing to

The important setting is called Image Memory Size (MB). By default, it is 40 megs. In 32-bit, it should never really be higher than 128 megs of ram, because that’s as large as you can safely get in one contiguous block even if you have 3 Gig of RAM. It is the size of one huge memory pool that the FxTree will allocate on startup. In other words, its the minimum amount of RAM to allocate when the FxTree start. In other application, this setting is normally the maximum to allocate! A trivial composite can be assumed to need at least 5 times the amount of RAM of a single image.

In order to be able to resize its memory elegantly (I know, this is ironic), the FxTree allocates a swap file that’s as large as that memory setting. The swap file is located in %TEMP%\XSI_Temp_pid. The hard disk needs to have enough space for it. To quickly go there, at the command line do “CD /D %TEMP%” (/D allows “CD” to change drive if it needs to, otherwise it only changes directory)

In 64-bit you can make the FxTree memory very large, and therefore get a real-time RAM flipbook for free. However, keep watching for space for that swap file on disk. It’ll take a few seconds for the FxTree to allocate that swap file.

If you don’t use the FxTree views and have no FxTree operator in your scene, that memory will never be allocated.

You can right-click on an FxTree node and select “Live Caching”. In this case, the output of the operator will be cached to RAM, for multiple frames, and if the memory runs low it’ll swap to disk using the Disk Usage settings. You would do this for an operator or a branch of the tree that takes a long time to render. It doesn’t persist the setting, but it’s the equivalent of doing a precomp in other products. All file input operators are using ‘live caching’ by default, except with disk swapping disabled, which is why you can sometimes see a yellow diamond (the Live Caching icon) on file input nodes.

Swapping to disk also happens if you use raster paint, or press Play in the FxViewer and it runs out of RAM. Otherwise, these disk options are not used and I’ve never really seen any user having problems with them.

4 Responses to “If the FxTree crashes when you open it, it is because….”

  1. chemkid Says:

    thanks, that`s just fine!

    but why do i have to change the image memory size to 720(!!!!) to composite a single image + zpic to create a dof-effect?!!! the pic is 30mb and the zpic 64mb. the final swap-file created is 740mb… hmmm.

    everything lower than that keeps crashing the composite with a nice message to raise my image memory size settings to something like 900mb.

    the tempdisk is on a seperate drive… so space shouldn`t be the problem.

    sorry to bother all the pros with a somewhat …question, it`s like i solved the problem for me (for a stillimage comp only) and now i got a hint that i messed up my memorysettings, again…?!!!

    have fun and happy xsing!!!!

    chem!

  2. Luc-Eric Says:

    The depth of field effect needs to allocate a temporary RGBA floating-point buffer of the size of the color image, so that’s going to be quite big - four times the RAM an RGBA 8-bit will take. The size of the PIC file in disk, if that’s what you mean, has no meaning, since it’s a compressed format and must be decompressed. But the .Zpic is uncompressed. So if that one is 64 meg, and since the ZPic is only one channel, it tells me the the DOF is going to need a temporary buffer of 64×4 = 256 Megs of RAM. That’s a huge freaking amount of RAM, and it’s only for the temporary buffer in the DOF effect.

    So you may be saying you’re compositing a single image, those images you’re working with are unusually big. The FxTree isn’t really thought to work on images large than 2000 pixels. To handle very large images in 32-bit, software like Shake cut the image in tiles but the Fx Tree doesn’t do this, it focuses on compositing images rapidly for video and HD, not IMAX.

  3. chemkid Says:

    thank you very much!!

    chem!

  4. Sam Says:

    I was able to successfully composite together a 2k film res animation that had many layers for a movie company logo and the FXtree worked wonderfully. Of course, I never saw it on big screen, but it looked good on my computer. :’)

Leave a Reply