Fixing blurry text in Windows 8.1 for IT Professionals

Updated: October 20, 2013

Applies To: Windows 8.1

Windows® desktop apps fall broadly into two classes: apps that are DPI-aware and those that are not. DPI-aware apps actively let Windows know during application launch that they are capable of scaling themselves to work well on a high DPI display. These apps include: Internet Explorer, Office, Firefox, and .NET 2.0+ (including WPF) apps. These apps generally work well across a wide range of scale factors. Therefore, if your enterprise line of business apps are also DPI-aware, your users should not have a problem with any Windows 8.1 displays or scale factors.

However, if an application is not DPI aware, and is running on a high DPI display, Windows scales the app by applying bitmap scaling to the application output. This ensures that the application is the correct size on a high DPI display. In most instances this will result in crisp and usable applications, but in some instances, the result is less crisp and might have a slightly fuzzy or blurry appearance because of the bitmap scaling.

In this topic:

Use the Process Explorer tool to determine if an app is DPI-aware. Figure 1 Process Explorer shows this utility in use, with the column for DPI Awareness enabled. (By default, process explorer does not show the DPI Awareness column. To turn this column on, click the View menu, click Select Columns, check the box for DPI Awareness, and click OK.) The column titled DPI Awareness tells you whether a particular process is aware of DPI or not.

Process Explorer - Sysinternals

Figure 1 Process Explorer

Windows 8.1 distinguishes between three classes of applications.

Table 1 DPI Awareness Apps

 

DPI awareness Examples Behavior

Unaware

Mmc.exe (Microsoft Management Console and its plugins)

Windows bitmap scales the application to any high DPI displays that are attached to the system; can be fuzzy at 125% and 150% scale factors.

System-aware

Office apps

Application scales itself at launch to the system DPI (usually the same as the primary display DPI); Windows scales the app to any displays that do not match this.

Per-monitor-aware

Internet Explorer 11

Application dynamically scales itself to the display DPI.

Microsoft recommends that all applications become DPI-aware. It is possible that newer versions of your applications are already DPI-aware. If they are not, you can ask your app vendor to update their app to be DPI aware. Microsoft provides developer resources that can help them update their app, including the following:

In the cases where users cannot deal with the bitmap scaling of apps that aren’t DPI-aware (for example, 125% scaling and fuzzy applications), individual Windows desktop applications can be shimmed to not be scaled. Users can do this by using the Compatibility tab of the application’s Properties UI. For example, Figure 2 Application Properties shows how a user can disable bitmap scaling:

Application Properties

Figure 2 Application Properties

You can manage bulk-shimming of applications by using the Compatadmin tool, which is available in the Application Compatibility Toolkit that is included in the Windows Assessment and Deployment Kit (Windows ADK). You can download the Windows ADK from Windows Assessment and Deployment Kit (ADK) for Windows® 8. For more information about how to use the Compatadmin tool, see How to use the Compatibility Administrator utility in Windows.

ImportantImportant
Disabling display scaling can result in content that is too small to be read or interacted with reliably; it can also produce visual artifacts such as clipped or overlapped content. These issues depend on details of how the app was written. Consequently, we recommend only changing this setting if absolutely required. This shim should not be applied to apps that do not require it, or to devices that do not require it.

Windows 8.1 includes a Windows 8 compatibility scaling mode that can be deployed to address all visual blurring issues with certain displays. Note that using the compatibility mode turns off all the benefits of the Windows 8.1 DPI features. This method should only be used as a last resort, if the enterprise environment includes too many apps that aren’t DPI-aware to be mitigated by applying application shimming. Users can access this mode in the DPI CPL UI by checking the box that says Let me choose one scaling level for all my displays:

Display

Figure 3 Scaling Level Option

This setting can also be applied during deployment if you have many specific apps that need remediation and you plan a large scale roll-out to low or mid-density displays. You can customize your image in Audit mode before deployment. See Audit Mode Overview. See also the next section that explains how to programmatically perform device detection and registry customization.

Windows 8.1 scales apps that aren’t DPI-aware dynamically by resizing the bitmap generated by the application. Bitmap scaling works best when scaled at integer multiples (for example, 1x, 2x, 3x), but can have visual artifacts that are often perceived as blurry/fuzzy at non-integer multiples (for example, 125%, 150%.)

Windows supports a full spectrum of screen sizes, resolutions, and therefore DPI. There will be some DPI ranges that result in less than optimal Windows scaling for apps that aren’t DPI-aware.

Table 2 Scaling Values describes the possible issues that users can encounter at different Windows scaling values:

Table 2 Scaling Values

 

Scale factor 100% mainstream 125% value 150% premium 200% premium

Scaling benefit

N/A

Small size improvement

Significant size improvement

Critical size improvement

Bitmap scaling of unaware apps

N/A

Most noticeable fuzziness

Less noticeable fuzziness

Clear and crisp

Scaling of aware apps

N/A

Clear and crisp

Clear and crisp

Clear and crisp

As shown in the preceding table, most of the issues manifest at the 125% scaling ratio. For this reason, any mitigation should target apps that aren’t DPI-aware on 125% scaling systems only.

For information about how to identify 125% systems or how to revert to Windows® 8 scaling behavior for a 125% system, see DPI-related APIs and registry settings.

See Also

Show: