Tune Graphics Performance with Window Compositor (Compact 7)

3/12/2014

On Windows Embedded Compact devices, multiple applications can run simultaneously, but only a single screen is available to display all program user interfaces (UIs) and output. Because graphics output uses significant processor and memory resources, original equipment manufacturers (OEMs) and independent software vendors (ISVs) must design systems that minimize this overhead, while offering an optimal user experience where one or more applications simultaneously create graphical output. One way to improve graphics performance in devices that use both Microsoft Silverlight for Windows Embedded and Win32 for graphics output is to include Window Compositor in the OS image. For information about how to add Window Compositor to an OS, see Include Window Compositor in an OS Design.

How Window Compositor Improves Graphics Performance

Window Compositor is an optional Windows Embedded Compact module that helps OEMs and ISVs to optimize graphics and improve display performance when different applications share the output screen. Window Compositor combines the visual output from multiple applications before Windows Embedded Compact updates the display screen, which reduces the number of required display updates. With Window Compositor, application designers can disable alpha blending and create clipping regions that restrict screen updates to certain areas of the screen.

When Performance Improvements Are Not Required

The suggested Window Compositor performance improvements in this article are not required in the following scenarios:

  • All applications use Silverlight for Windows Embedded exclusively for graphics output and for output from the shell or human machine interface (HMI). This means that at least one of the following conditions applies:
    • All the applications that produce graphical output are created with XAML and use Silverlight for Windows Embedded to render the XAML to the display.
    • No applications from ISVs produce graphical output that must be composed into the shell or HMI.
      In these two cases, Silverlight for Windows Embedded can efficiently compose the display output.
  • An OEM does not include support for Window Compositor in the OS. An OEM omits this feature in the following cases:
    • The system that the OEM is developing has serious graphics performance issues. In this case, OEMs may want to avoid the added memory overhead of including Window Compositor as part of the OS.
    • The OEM has determined that the system does not require alpha blending to compose windows. Alpha blending makes windows that overlay other windows wholly or partially transparent, and Window Compositor uses alpha blending to compose windows. Although alpha blending can improve the user experience of the visual UI, it requires additional processing overhead that can negatively affect graphics performance. Therefore, OEMs must consider the tradeoff between improved user experience and improved system performance before including Window Compositor and alpha blending in the system.

In This Section

  • Optimize the Window Display
    This section describes how to disable full window alpha blending and pixel-by-pixel alpha blending for full-screen or animation-only windows.
  • Create Clipping Regions
    This section contains information about how to create clipping regions to restrict screen updates to areas that do not use alpha blending.

See Also

Concepts

Window Compositor Developer's Guide