Differences from Desktop Implementations (Windows Embedded CE 6.0)
1/6/2010
The original graphics driver design for Windows Embedded CE was created to provide a uniform GDI implementation across a wide variety of simple hardware with a minimal memory footprint. By augmenting the display driver implementation to include DirectDraw, Windows Embedded CE supports more sophisticated hardware and applications that can support a wide variety of high-performance functionality. This extends the current implementation to support new hardware and provides applications with the graphical power and flexibility they require.
In Windows Embedded CE, DirectDraw is generally a subset of the corresponding version of DirectDraw for Windows. The DirectDraw hardware abstraction layer (DDHAL) for Windows Embedded CE was designed as a modified version of the DDHAL for Windows-based desktop platforms.
The following list describes the key differences in the Windows Embedded CE implementation:
- A single 32-bit DDHAL implementation combines the 16-bit and 32-bit implementations for Windows-based desktop platforms.
This 32-bit implementation is part of a Windows Embedded CE–based display driver instead of a separate DLL or part of a display minidriver. Minimal divergence from the original design of DDI for Windows Embedded CE is very important. Additionally, it is important that GPE be extended to make supporting DirectDraw much easier. - The virtual display driver (VDD) and kernel services functionality specific to Windows-based desktop platforms is omitted.
- A new entry point is included to allow DirectDraw to initialize the DDHAL for the current display driver.
- There is no support for palletized primary surfaces.
Primary surfaces have a 16-bit minimum pixel width. - The special functionality of AGP, such as sharing system RAM as video memory, can be supported entirely from within the driver, but there is no help from the middleware.
- Implementations of Windows Embedded CE for hardware platforms that rely heavily on emulated software alpha blending composition might want to differentiate between GDIsurfaces and active, screen, or primary surfaces. These are all the same in a Windows desktop implementation.
- The driver is responsible for video management.
DirectDraw does not offer a VIDMEM-style heap management service. GPE-based heap management services can be for video management. - Because Windows Embedded CE is an exclusively 32-bit operating system, it cannot support the 16-bit functionality of DirectDraw. This functionality can be removed without any notable drawbacks.
- The DDI for the Windows Embedded CE has combined the display driver, port, and miniport into a single device-specific display driver with a new set of initialization routines. This is different than the Windows desktop DDHAL architecture, so a different mechanism of DDHAL initialization is required.