Design a Display Driver (Compact 7)
3/12/2014
Compact 7 uses a display driver model for hardware acceleration of RemoteFX because during a RemoteFX session, the RDC client might request decoding for large amounts of display data. When Compact 7 uses the display driver to process data, any decompressed data can be sent directly to a display controller, without being sent through numerous memory-transfer operations.
Full-Featured or Full-Screen Only Display Drivers
You can develop a RemoteFX display driver as either a full-featured display driver or as full-screen-only display driver:
A full-featured display driver supports RDP window-frame mode, where the display surface is shared between the RDP window and other local applications.
Figure 2: Window-Frame Display ModeA full-screen-only display driver supports RDP full-screen display mode, where the Remote Desktop client is the only application displayed. This mode is used only for hardware-assisted decoding. You set full-screen mode in the registry of the client device by using the FullScreenRFXOnly subkey. A full-screen-only hardware-assisted display driver makes board development and prototyping faster because display data can be sent directly to the frame buffer from the decode buffer. A full-screen-only display driver also reduces CPU load at run time.
Figure 3: Full-Screen Display Mode
Performance Optimization for the RemoteFX Thin Client Device Display Driver
To optimize the performance of your RemoteFX display driver, consider the following:
- Do not use a software Graphics Primitive Engine (GPE) because it puts more load on the CPU. You can obtain optimal display performance when the video card is capable of supporting the full set of GDI raster operations on Compact 7.
- Use direct memory access (DMA) whenever possible to move the decoded data in video memory.
- Use a hardware-accelerated BitBlt operation.