Graphics and Performance in XAML for Windows Embedded (Compact 2013)
3/26/2014
On desktop computers, graphics performance is of less concern than on a Windows Embedded Compact powered device. Desktop computers typically have almost unlimited graphics processing power, so testing and tuning graphics performance is less of an issue. In contrast, XAML for Windows Embedded runs on devices that can use different microprocessor types, that have custom hardware components, and that have memory size constraints.
The information provided in this section will help you match your product hardware platform with your desired customer experience, and will help you maximize the performance of the user interface (UI) for your product. Maximizing performance involves a trade-off between the complexity of your application UI and, to a degree, the capability and cost of your chosen hardware platform (device).
You can use the information in this section to understand the graphics processing model, the hardware acceleration, and the hardware requirements for different levels of expected performance, and how to improve the performance of your application running XAML for Windows Embedded based on your hardware and resources. Performance tuning and hardware acceleration typically occurs late in a UI project, but some design considerations that can affect UI performance are known at initial stages of the project.
Performance of applications running XAML for Windows Embedded is render-bound; the more pixels that must be calculated and drawn on the screen, the greater the effect on performance. XAML for Windows Embedded includes the following performance features:
- XAML files can be compiled into Binary XAML (BAML) for faster load times.
- Portable Network Graphics (PNG) files are encoded in a less-compressed format so that they can be read into memory faster.
- When hardware acceleration is enabled, bitmap caching is on by default.
As a developer or designer, you can improve performance and accelerate the rendering process, whether by upgrading hardware, designing an efficient UI, or tailoring the graphics rendering code to better fit your hardware.
Note
Low-cost platforms, such as ARM9, typically have lower processor speed and lack GPUs. Using XAML for Windows Embedded on such devices can result in insufficient performance.
In This Section
- Graphics and Rendering Process in XAML for Windows Embedded
Describes the phases of the rendering process in an application running XAML for Windows Embedded, including the threading model, and provides a simple example UI.
- Hardware Acceleration in XAML for Windows Embedded
Describes how hardware acceleration works in XAML for Windows Embedded, and describes the two rendering architectures that are supported: DirectDraw and OpenGL. Provides links to a topic that describes how to customize the rendering plug-ins.
- Test Graphics Performance of XAML for Windows Embedded
Describes how to obtain performance data for your application running XAML for Windows Embedded, either manually or by using the Windows Embedded Compact Test Kit (CTK) and other performance tools.
- Optimize Hardware, BSP, or Drivers, for Graphics Performance
Describes how to optimize the board support package (BSP), hardware, or device drivers to help improve graphics performance.
- Optimize OS Components for Graphics Performance
Describes how to optimize components in Windows Embedded Compact that affect UI load time and animation frame rate.
- Optimize UI Elements and XAML Files for Graphics Performance
Provides detailed information and a variety of recommended tasks for designing the UI in XAML files to optimize graphics performance.
- Optimize Images for Graphics Performance
Describes how to optimize image files to improve the performance of graphics intensive applications.