There are three basic ways to enhance performance and reduce required memory bandwidth:
1. Every logiCVC-ML layer has its own LX_CTRL register. Bit 0 of LX_CTRL enables layer X to read data from memory. By default only layer 0 has this bit set to 1, all other layers need to be enabled with a write to LX_CTRL register.
A user software application should take care to have enabled only the layers that are needed and to disable them when they are not.
2. In an application with multiple layers in most cases there is no need for all layers to cover the whole display resolution.
A very efficient way to reduce required memory bandwidth is to decrease the size of some layers to a smaller dimension. logiCVC-ML will read only that part of memory for a layer that is shown on the display.
A background layer can also be helpful if not the whole display resoultion is used to show graphics.
3. The user should take care of the layer color depth and alpha mode, i.e. C_LAYER_X_DATA_WIDTH and C_LAYER_X_ALPHA_MODE generic.
A 16-bit layer (16-bits per pixel) will use half of the required memory bandwidth of a 24-bit layer, provided layer-alpha mode is used. For pixel-alpha mode there will be no difference between a 16-bit and a 24-bit layer regardless of alpha mode.
A 8-bit layer will require only quarter of the required memory bandwidth of a 24-bit layer, and a half if pixel-alpha mode is used.
For an 8-bit layer, CLUT alpha mode can be very beneficial, especially when computer generated graphics are used, because each 8-bit pixel in memory is actualy an index in the CLUT that outputs 16 or 24-bit pixel.