Friday, December 5, 2014

High DPI in Windows 8.1: Checking the DPI Awareness with Process Explorer

If you invested in a high DPI laptop or a high DPI screen to enjoy crisp and clear text, you will be disappointed with some IDEs and other developer targeted applications that display both blurry text and images. As a developer, you spend a long number of hours reading documentation and hundreds of lines of code and your eyes will benefit from developer tools to be per-monitor DPI aware in Windows 8.1.

Unluckily, there are still too many developer tools that aren’t even system DPI aware and you cannot enjoy the benefits of your high DPI screen when working with them. If you see either blurry text or images in a window, you can easily check the DPI awareness of the related process with the Process Explorer utility. Notice the values of the DPI Awareness column in the following screenshot:

If you work with a multi-monitor workstation, you will have the best experience with the processes that indicate a Per-Monitor Aware value for the DPI Awareness column, as long as you have Windows 8.1 installed. So far, the latest version of Google Chrome (Version 39.0.2171.171m) is just system DPI aware (you will see the System Aware value in the DPI Awareness column for chrome.exe). Thus, if you drag one chrome window from one screen to another one that has a different high DPI resolution, you will not have the most possible crisp text and images in one of the screens.

If you are interested in diving deeper on high DPI displays in Windows 8.1 and how to develop apps that deliver crisp text and pictures on all the screens in which your application can be dragged to, you can read the two articles I published on Dr. Dobb’s that include many code samples and a complete explanation of the different modes in Windows 8 and Windows 8.1.