The Tiliam Blog

Musing on technologies for video and cinematography

Memory Settings in MotionBend

Thanks to a bug report from one of our users, we recently tracked down and fixed a bug related to the cache parameter in MotionBend Preferences. This resulted in the release of version 1.3.2c.

Preferences

Memory settings in MotionBend allow you to restrict how much memory will be used

  • for buffered playback mode
  • for rendering

Setting the value does not mean that that amount of memory will always be in use, it will only be used when needed. So what is the best value for this parameter?

For buffered playback mode, you’re going to want to store several seconds of video around the moment in time you are interested in. Buffered mode caches the video in display format, i.e. 24 bit RGB.

For 3 seconds of 1920×1080 at 30 fps and 3 bytes per pixel; you need 534 MB, for 1280×720 that would be 237 MB.

For rendering it is more difficult to calculate how much memory you need as it depends on your source material and your Mac. If you are rendering borders in Complete mode then you need about 20 frames minimum.

20 frames of 1920×1080 works out to be 120 MB for 24 bit YCbCr/RGB. Note: Source video is upsampled to 4:4:4.

You also need a further minimum of 1 frame per core. Most modern Intel processors have Hyper-Threading (HT) technology so effectively have twice as many cores as specified. To find out how many cores you have available you can enter the following command in a terminal:

$ sysctl hw.ncpu

Summary

If the cache memory value is too small then you won’t be able to buffer a long time for playback in buffered mode. You won’t be able to use all the cores when rendering, causing slow down and finally completion will be lower quality.

A good rule of thumb is to use a value of about 500 MB. If you have more memory, if you are working in 10+ bits per component, at higher resolutions, or if you use buffered playback then use more.


Share