There are different factors which affect the video performance.
We improve our display driver with every update so make sure you use the latest one.
Win CE knows 2 different types of bitmaps, device-dependent bitmaps (DDBs) and device-independent bitmaps (DIBs).
DIBs can be created with almost any color format and the owner application has a direct memory pointer to them. In windows CE DIBs are always allocated in System memory and therefore cannot be used in the GCU (Hardware graphic accelerator).
DDBs can only be created with the same format as the Framebuffer and are allocated in Video Memory (if there is still available space). For DDB allocated in Video memory the GCU (Hardware graphic accelerator) can be used to speed up operations.
NOTE: In Windows CE 6 there is an additional performance drawback when using DIBs until image version 3.7 beta 2.
The best case is if the system doesn't need to do any conversion and can directly copy the data to the Framebuffer. This is the case if you use DDBs, which you can create with the function CreateCompatibleBitmap().
If this is not possible check Bitblt for optimized color formats.
In case you don't really need 18bit colors but you need very fast graphics, we recommend to use the 16BPP with 16LDD (The display is connected with 16bit of colors). In a lot of cases this gives you a performance boost and you lose just 2bits of color information.
In case you like to test the 16bit mode with the Colibri Evaluation Board and an analog monitor have a look here.
In case the VideoRAM is too small, the system uses normal RAM which cannot be used by the graphic acceleration HW
If you use a small resolution or few colors you can place the Framebuffer in the SRAM.
You can set the registry key "Verbosity" in the Display Driver Registry Settings to get more information on what the display driver is doing.