Resource usage
The memory requirements are depending highly on the used features. With different configurations most of the features can be disabled if they are not required. This allows the user to adapt emWin to fit to their needs. The table below should give an overview about the resource requirements of the different emWin features.
emWin Memory requirements of the GUI components
Component | ROM | RAM | Description |
---|---|---|---|
Window Manager | + 6.2 Kbytes | + 2.5 Kbyte | Additional memory requirements of a "Hello world" application when using the Window Manager. |
Memory Devices | + 4.7 Kbytes | + 7 Kbytes | Additional memory requirements of a "Hello world" application when using Memory Devices. |
Antialiasing | + 4.5 Kbytes | + 2 * LCD_XSIZE | Additional memory requirements for the antialiasing software item. |
Driver | + 2 - 8 Kbytes | 20 Bytes | The memory requirements of the driver depend on the configured driver and if a data cache is used or not. With a data cache, the driver requires more RAM. For details, refer to the chapter "Display drivers" on page 1153. |
MultiLayer | + 2 - 8 Kbytes | - | If working with a MultiLayer or a MultiDisplay configuration additional memory for each additional layer is required, because each layer requires its own driver. |
Core | 5.2 Kbytes | 80 Bytes | Memory requirements of a typical Hello world application without using additional software items. |
Core / JPEG | 12 Kbytes | 38 Kbytes | Basic routines for drawing JPEG files. |
Core / GIF | 3.3 Kbytes | 17 Kbytes | Basic routines for drawing GIF files. |
Core / Sprites | 4.7 Kbytes | 16 Bytes | Routines for drawing sprites and cursors. |
Core / Fonts | (see description) | - | Details of the ROM requirements of the standard fonts shipped with emWin can be found in the chapter "Fonts" on page 227. |
Widgets | 4.5 Kbytes | - | This is the approximately basic ROM requirement for the widgets depending on the individual core functions used by the widgets. |
Widget / BUTTON | 1 Kbytes | 40 Bytes | The listed memory requirements of the widgets |
Widget / CHECKBOX | 1 Kbytes | 52 Bytes | |
Widget / DROPDOWN | 1.8 Kbytes | 52 Bytes | |
Widget / EDIT | 2.2 Kbytes | 28 Bytes | |
Widget / FRAMEWIN | 2.2 Kbytes | 12 Bytes | |
Widget / GRAPH | 2.9 Kbytes | 48 Bytes | |
Widget / GRAPH_DATA_XY | 0.7 Kbytes | - | |
Widget / GRAPH_DATA_YT | 0.6 Kbytes | - | |
Widget / HEADER | 2.8 Kbytes | 32 Bytes | |
Widget / LISTBOX | 3.7 Kbytes | 56 Bytes | |
Widget / LISTVIEW | 3.6 Kbytes | 44 Bytes | |
Widget / MENU | 5.7 Kbytes | 52 Bytes | |
Widget / MULTIEDIT | 7.1 Kbytes | 16 Bytes | |
Widget / MULTIPAGE | 3.9 Kbytes | 32 Bytes | |
Widget / PROGBAR | 1.3 Kbytes | 20 Bytes | |
Widget / RADIOBUTTON | 1.4 Kbytes | 32 Bytes | The listed memory requirements of the widgets contain the basic routines required for creating and drawing the widget. Depending on the specific widget there are several additional functions available which are not listed in the table. |
Widget / SCROLLBAR | 2 Kbytes | 14 Bytes | |
Widget / SLIDER | 1.3 Kbytes | 16 Bytes | |
Widget / TEXT | 0.4 Kbytes | 16 Bytes |
Please note that these values are minimum requirements and it might be possible that the requirements increase depending on how extensively the different modules are used.