Skip navigation

emWin — 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

ComponentROMRAMDescription
Window Manager + 6.2 Kbytes+ 2.5 KbyteAdditional memory requirements of a ’Hello
world’ application when using the Window Manager.
Memory Devices+ 4.7 Kbytes+ 7 KbytesAdditional memory requirements of a ’Hello
world’ application when using Memory Devices.
Antialiasing+ 4.5 Kbytes+ 2 * LCD_XSIZEAdditional memory requirements for the antialiasing
software item.
Driver+ 2 - 8 Kbytes20 BytesThe 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.
Core5.2 Kbytes80 BytesMemory requirements of a typical ’Hello world’
application without using additional software
items.
Core / JPEG12 Kbytes38 KbytesBasic routines for drawing JPEG files.
Core / GIF3.3 Kbytes17 KbytesBasic routines for drawing GIF files.
Core / Sprites4.7 Kbytes16 BytesRoutines 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.
Widgets4.5 Kbytes-This is the approximately basic ROM requirement
for the widgets depending on the individual
core functions used by the widgets.
Widget / BUTTON1 Kbytes40 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 / CHECKBOX1 Kbytes52 Bytes
Widget / DROPDOWN1.8 Kbytes52 Bytes
Widget / EDIT2.2 Kbytes28 Bytes
Widget / FRAMEWIN2.2 Kbytes12 Bytes
Widget / GRAPH2.9 Kbytes48 Bytes
Widget /
GRAPH_DATA_XY
0.7 Kbytes-
Widget /
GRAPH_DATA_YT
0.6 Kbytes-
Widget / HEADER2.8 Kbytes32 Bytes
Widget / LISTBOX3.7 Kbytes56 Bytes
Widget / LISTVIEW3.6 Kbytes44 Bytes
Widget / MENU5.7 Kbytes52 Bytes
Widget / MULTIEDIT7.1 Kbytes16 Bytes
Widget / MULTIPAGE3.9 Kbytes32 Bytes
Widget / PROGBAR1.3 Kbytes20 Bytes
Widget / RADIOBUTTON1.4 Kbytes32 BytesThe 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 / SCROLLBAR2 Kbytes14 Bytes
Widget / SLIDER1.3 Kbytes16 Bytes
Widget / TEXT0.4 Kbytes16 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.