High DPI for desktop apps in Windows 8.1

Platforms

Clients - Windows 8.1 Servers - Windows Server 2012 R2

Description

In Windows 8.1 desktop applications are expected to run on displays with 200% scaling in addition to the 100%, 125%, and 150% scaling that is supported in Windows 8. In addition, desktop applications are scaled on a per-monitor basis rather than to a single scale factor applied to all displays. Developers can also call new APIs in Windows 8.1 to get per-monitor scale factors.

Manifestations

Users can use new high density displays with Windows 8.1 for a terrific visual experience that takes advantage of the higher pixel data. If applications don’t handle high DPI, Windows will scale them for the user. In addition, users can use a mix of high and low density displays on the same computer, and Windows will scale content appropriately for each display. This is an improvement over Windows 8, where content can be too large on some displays.

Mitigation

Since Windows will scale apps that don’t scale themselves, developers generally do not have to do additional work, but developers who do invest in writing applications that support high DPI will have a competitive advantage, as those applications will look better on new high DPI laptops and desktop monitors.

Solution

Making an application that can take advantage of high DPI is a complex design and implementation task. See the links below for tutorial information, BUILD presentation content, and similar support.

Tests

Even if developers do not choose to make their applications take advantage of high DPI, they should test their application at 100%, 125%, 150%, and 200% scaling to be sure the end-user experience is satisfactory and competitive.

Resources