Graphics Rendering Registry Settings
This topic provides an overview of the WPF graphics rendering registry settings that affect WPF applications.
When to Use Graphics Rendering Registry Settings
These registry settings are provided for troubleshooting, debugging, and product support purposes. Because changes to the registry affect all WPF applications, your application should never alter these registry keys automatically, or during installation.
What are XPDM and WDDM?
Some of the graphics rendering registry settings have different default values, depending on whether your video card uses an XPDM or WDDM driver. XPDM is the Microsoft Windows XP Display Driver Model and WDDM is the Windows Display Driver Model. WDDM is available on computers running Windows Vista and Windows 7. XPDM is available on computers running Windows Vista, Microsoft Windows XP, and Microsoft Windows Server 2003. For more information about WDDM, see Windows Display Driver Model (WDDM) Design Guide.
WPF provides four registry settings for controlling WPF rendering:
|Disable Hardware Acceleration Option
|Specifies whether hardware acceleration should be enabled.
|Maximum Multisample Value
|Specifies the degree of multisampling for antialiasing 3D content.
|Required Video Driver Date Setting
|Specifies whether the system disables hardware acceleration for drivers released before November 2004.
|Use Reference Rasterizer Option
|Specifies whether WPF should use the reference rasterizer.
These settings can be accessed by any external configuration utility that knows how to reference the WPF registry settings. These settings can also be created or modified by accessing the values directly by using the Windows Registry Editor.
Disable Hardware Acceleration Option
The disable hardware acceleration option enables you to turn off hardware acceleration for debugging and test purposes. When you see rendering artifacts in an application, try turning off hardware acceleration. If the artifact disappears, the problem might be with your video driver.
The disable hardware acceleration option is a DWORD value that is either 0 or 1. A value of 1 disables hardware acceleration. A value of 0 enables hardware acceleration, provided the system meets hardware acceleration requirements; for more information, see Graphics Rendering Tiers.
Maximum Multisample Value
The maximum multisample value enables you to adjust the maximum amount of antialiasing of 3D content. Use this level to disable 3D antialiasing in Windows Vista.
The maximum multisample value is a DWORD value that ranges from 0 to 16. A value of 0 specifies that multisample antialiasing of 3D content should be disabled, and a value of 16 will attempt to use up to 16x multisample antialiasing, if supported by the video card. Beware that setting this registry key value on computers using XPDM drivers will cause applications to use a large amount of additional video memory, decrease the performance of 3D rendering, and has the potential to introduce rendering errors and stability problems.
When this registry key is not set, WPF defaults to 0 for XPDM drivers and 4 for WDDM drivers.
Required Video Driver Date Setting
In November, 2004, Microsoft released a new version of the driver testing guidelines; the drivers written after this date offer better stability. By default, WPF will use the hardware acceleration pipeline for these drivers and will fall back to software rendering for XPDM drivers published before this date.
The required video driver date setting enables you to specify an alternate minimum date for XPDM drivers. You should only specify a date earlier than November, 2004 if you are confident that your video driver is stable enough to support WPF.
The required video driver setting takes a string of the following format:
Where YYYY is the four-digit year, MM is the two-digit month, and DD is the two digit day. When this value is unset, WPF uses November, 2004 as its required video driver date.
Use Reference Rasterizer Option
The use reference rasterizer option enables you to force WPF into a simulated hardware rendering mode for debugging: WPF goes into hardware mode, but uses the Microsoft Direct3D reference software rasterizer, d3dref9.dll, instead of an actual hardware device.
The reference rasterizer is very slow, but bypasses your video driver to avoid any rendering issues caused by driver problems. For this reason, you can use the reference rasterizer to determine if rendering issues are caused by the video driver. The d3dref9.dll file must be in a location where the application can access it, such as in any location in the system path or in the local directory of the application.
The use reference rasterizer option takes a DWORD value. A value of 0 indicates that the reference rasterizer is not used. Any other non-zero value forces WPF to use the reference rasterizer.