The Performance tab holds a number of options that affect how CPU hungry will recordMyDesktop be.
The “Frames Per Second” option controls the frequency with which screenshots are taken. Setting it to a higher value will produce smoother recordings, but it will require more processing power. It will also increase the size of the cached files and that of the encoded ones. In the default mode of operation (using Xdamage), you can set it at higher values without having a very large increase at CPU usage. When using the full-shots option, CPU usage will increase in a more-or-less linear fashion, with the fps.
The “Encode on the Fly” option causes the program to encode during the capture. This is useful when you don't need a high fps, or you are capturing a small area, since it saves you of all the space that the cache will need. But if you need a smooth recording of a not-so-small area, you should turn this option off ( it is off by default). As previously mentioned, when using this option, both audio and video encoding quality must be set to 100%.
“Zero Compression”, controls the compression of the cache. In recordMyDesktop 0.3.5+, it is enabled by default, which means that cache is written uncompressed. Disabling it, will make recordMyDesktop use a light gzip compression while writing the cache. The savings can vary. Enabling compression (disabling zero-compression), will make the program need slightly more CPU power and will make peaks in it harder. What that means is that when the program needs to process a large area (and thus requires more CPU), having compression enabled will make it require even more processing power. The best way to decide whether you want this option enabled is experience. If you can have it enabled without a noticeable effect in the quality of the recording, then you probably should.
“Quick Subsampling” deals with the quality of the colorspace transformation that takes place before caching and/or encoding. The Xserver returns pixmaps in the rgb colorspace(red, green, blue), while the theora encoder uses the YCbCr colorspace (Luminance, Chroma-blue,Chroma-red). In particular the YUV:420 colorspace is used for the final videos, in which the Y plane is at full resolution, while the Cb and Cr (or u and v) planes, are subsampled to half width and half height. Enabling quick subsampling means that during the creation of the u and v planes, only the first pixel in a square block of four pixels is taken into account, from the originating rgb pixmap. Leaving it disabled, means that the four pixels are averaged and the new one is used for the conversion.
In short, enabling quick subsampling will generally produce lower quality results, but it might save a lot of CPU. If your video contains brightly colored characters (e.g. code in vim or kate) , you should leave this option disabled, as the result will be quite visible.
“Full shots At Every Frame” enables full captures. This means that the program will need to receive pixmaps that might reach several mbytes in size, from the Xserver, several times each second. This means a lot higher CPU utilization, from both recordMyDesktop and the Xserver itself.
The default behavior is to have this turned off. The exception is 3d window managers, where this setting is necessary for the capture to happen and it gets auto-enabled. Generally you should enable this feature only to capture windows that don't generate Damage events(e.g windows that contain a direct glx context).