Skip to main content
A newer version of this page is available.

DirectX Hardware Acceleration

  • 3 minutes to read

DirectX hardware acceleration mode uses parallel calculations and utilizes the client machine’s integrated or discrete GPU to render DevExpress controls. Compared to a combination of GDI and GDI+, DirectX acceleration mode can increase the frame rate of graphics-rich applications with multiple animated visual elements on High-DPI (4K+) displays. The performance gain ranges from 1.5 to 3 times and depends on the number of simultaneously displayed visual elements, hardware configuration, operating system, and driver versions.

A control in DirectX render mode creates a Direct3D device context and uses a Direct2D-based canvas instead of a combination of GDI and GDI+ API-based canvases to draw content and UI elements. This mode is the most beneficial on a client machine with a discrete graphics card, since calculation load shifts from CPU to GPU and bitmap storage relies on framebuffer objects in video memory instead of GDI-based images in system memory.

DirectX hardware acceleration mode is available for the following controls:

How to Enable DirectX Render Mode

Assign rmDirectX to the corresponding look-and-feel render mode property to enable this mode application-wide or only for a specific supported control. To enable DirectX render mode for all supported controls, use one of the following options:

Assign rmDirectX to an individual control’s LookAndFeel.RenderMode property to enable DirectX render mode for the control. This setting has priority over the global render mode settings. Render mode settings do not affect controls that support only GDI render mode. If a control cannot create a Direct3D device context, it uses GDI as the fallback render mode. This can happen because of an unavailable DirectX11 API call due to an unsupported operating system version, a graphics card driver issue, etc.

Requirements and Limitations

  • DirectX render mode is supported in Windows 7 Platform Update (with DirectX11) and newer.

  • DirectX render mode is unavailable if an application is in GDI Scaled mode because it draws DirectX-rendered controls unscaled at their original (unscaled) positions.

  • All controls always rely on GDI and GDI+ at design time.

  • A control’s Transparent property value has no effect in DirectX render mode, since the control has an opaque Direct3D device context that overlaps any background elements.

  • In DirectX render mode, all GDI and GDI+ draw calls made through a control’s Canvas and ActiveCanvas properties have no effect.