Graphic issues in WPF applications can include any of the following symptoms:
· A WPF window that fails to refresh.
· A WPF window that contains distorted and corrupted visuals.
· On Windows Vista, the screen flickers.
· On Windows XP, a blue screen crash sometimes occurs.
· The occurrence of a Timeout Detection and Recovery (TDR).
As reported (see here), depending on the machine configuration and the application, software-based rendering is sometimes faster than hardware.
A new API is now available to allow developers to force software rendering in his/her application (per window) instead of using the GPU.
Solution :
In the main window, set the event :
Loaded="OnLoaded"
In the code behind :
private void Window_Loaded(object sender, RoutedEventArgs e) { if (ForceSoftware) { HwndSource hwndSource = PresentationSource.FromVisual(this) as HwndSource; HwndTarget hwndTarget = hwndSource.CompositionTarget; // this is the new WPF API to force render mode. hwndTarget.RenderMode = RenderMode.SoftwareOnly; } }
Source information :