Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Knowledge Base
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • emWin
  • Memory Devices
  • Technology
  • Demos
  • Add-ons
  • Tools
  • emWin Source Upgrade

Memory devices

Memory devices can be used as storage for enhancing the performance when drawing image files.

Contact us
Downloads
Documentation
SEGGER emWin
  1. 1.Overview
  2. 2.Window Caching
  3. 3.Image Container
  4. 4.Scaling and Rotating Images
  5. 5.Prevent Flickering

Overview

Memory devices serve as storage for images to enable windows to be redrawn without re-rendering. This can prevent flickering and be useful to modify or measure a drawing before displaying it.

Window Caching

With the emWin window cache feature, the content of each window or widget is automatically cached into spare memory. When a window – or part of a window – needs to be redrawn, its content is taken from the cache, thereby avoiding the time-consuming process of re-rendering.

The feature is very easy to configure and use, requiring only one line of code to enable use on all windows. All windows can be cached, or caching can be enabled for selected windows only.

This makes emWin ideal not only for small microcontroller devices, but also for systems with high-resolution displays and sufficient RAM.

Image Container

Memory devices can be used to increase the performance of drawing image files. Images like JPEG, PNG, GIF need not be decoded during the process of drawing. It is the decoding that requires the most CPU load and that can lead to slower performance. Using a memory device as an image container enables the drawing of such images with the best possible performance.

Scaling and Rotating Images

Rotating and scaling images can be achieved with MemoryDevice functions. There are numerous functions, each optimized for its specific requirement, such as fast performance, highest quality or management of large areas of transparency.

Prevent Flickering

Systems with very little memory can use memory devices to minimize flickering. If not enough RAM is available for a display driver cache (driver with indirect interface) or for multiple buffering (direct interface), memory devices can be used to reduce flickering. When displaying a changing text above a bitmap the text might appear to flicker since each time the text gets updated the bitmap gets drawn first and the text afterwards. To prevent this flickering, all drawing operations can be done in a memory device. Once all operations are finished the memory device is displayed. If not enough memory for a complete window is available, 'Banding' will be used automatically.

Headquarters

SEGGER Microcontroller GmbH

Ecolab-Allee 5
40789 Monheim am Rhein, Germany
info@segger.com
Tel.: +49-2173-99312-0
Fax: +49-2173-99312-28

Locations

USA: SEGGER Microcontroller Systems LLC

Boston area
101 Suffolk Lane
Gardner, MA 01440, USA
us-east@segger.com
Tel.: +1-978-874-0299
Fax: +1-978-874-0599

Silicon Valley
Milpitas, CA 95035, USA
us-west@segger.com
Tel.: +1-408-767-4068

China: SEGGER Microcontroller China Co., Ltd.

Room 218, Block A, Dahongqiaoguoji
No. 133 Xiulian Road
Minhang District, Shanghai 201199, China
china@segger.com
Tel.: +86-133-619-907-60

ISO 9001 certified

ISO 9001

30+ years of experience

First-class embedded software tools since 1992
  • Imprint
  • Disclaimer
  • Privacy Policy
© 2025 SEGGER - All rights reserved.