Optimize the usage of windows from Screen

We recommend that you use a single, static window buffer (SCREEN_PROPERTY_STATIC) whenever possible. Depending on the size of your image, try to load the image directly into the window buffer.

When your application tries to show content from multiple, visible windows, Screen likely needs to create a framebuffer. If your board supports more than one pipeline, you can use the pipelines to avoid the requirement to use framebuffer to do composition. When Screen creates a framebuffer, additional drivers may need to start as well, which can increase the time required to show content on the display. For this reason, to get content shown quickly, we recommend that you minimize the number of visible windows you use in your application.

To improve the time it takes to show content on the display, avoid using these unnecessary operations on the splash screen content when possible. Since the contents of the window buffer shouldn't change, set the window's property type to SCREEN_PROPERTY_STATIC. These operations require extra processing time and aren't usually required for a splash screen application:

rotation

transparency

scaling

If you use clipped regions in the source rectangle of the window buffer, ensure that the source rectangle (or source view port) is contained within the clipped region. Your clip region should be at least the same size (or larger) so that the source rectangle can be contained within it. So avoid what's shown in the following illustration from occurring: