DocID026161 Rev 4
45/111
UM1743
Performance
110
6 Performance
Note:
This section is only available for STM329I-EVAL, STM32F479I-EVAL and
STM32F469I-DISCO demonstrations.
6.1
Multi buffering features
Multiple buffering is the use of more than one frame buffer, so that the display ever shows a
screen which is already completely rendered, even if a drawing operation is in process.
When starting the process of drawing the current content of the front buffer is copied into a
back buffer. After that all drawing operations take effect only on this back buffer. After the
drawing operation has been completed the back buffer becomes the front buffer. Making the
back buffer the visible front buffer normally only requires the modification of the frame buffer
start address register of the display controller.
Now it should be considered that a display is refreshed by the display controller
approximately 60 times per second. After each period there is a vertical synchronization
signal, known as VSYNC signal. The best moment to make the back buffer the new front
buffer is this signal. If not considering the VSYNC signal tearing effects can occur, as shown
in
.
Figure 37. Example of tearing effect
6.2
Multi layers feature
Windows can be placed in any layer or display, drawing operations can be used on any
layer or display. Since there are really only smaller differences from this point of view,
multiple layers and multiple displays are handled the same way (Using the same API
routines) and are simply referred to as multiple layers, even if the particular embedded
system uses multiple displays.
In the STM32CubeF4 demonstration, the layer 0 is dedicated for the background while the
layer 1 with transparency activated is dedicated for the main desktop, this will allow to the
kernel to keep the background unchanged during the desktop visual changes without
refreshing the background image.