On embedded systems that have memory protection, Storyboard IO can use an implementation based on inter-process communication (IPC) that allows for communication between a backend application and the Storyboard UI application. Through it, incoming messages from the backend application are inserted into the Storyboard event queue to be processed.
With a MCU class of hardware that does not utilize IPC the Storyboard IO implements the message queue in systems heap memory.. The outcome is that data sent through the Storyboard IO can increase the amount of memory required to support the backend messaging. However, several methods can be employed to help reduce this. These include:
-
Constructing the events being used to send data between the GUI and the backend application in a manner that uses as little data as possible
-
Limiting string sizes as they tend to cause the most amount of memory use when the string size becomes large
Of course, another option is not to use Storyboard IO at all. With the MCU class of hardware, the Storyboard libgre.a library provides a public C API that can be used instead of the Storyboard IO implementation when memory is limited. This C API enables applications to listen and send events to a Storyboard application instead of the traditional method of passing them through the Storyboard IO.