Correcting Blurry Display Scaling Under High DPI Settings

Windows Vista Logo In pre-Vista Windows land, using a DPI setting higher than the default 96 was like inviting a clumsy person to stand next to your china cabinet.  Something was going to break, you just didn’t know what.  Thankfully it was usually something minor.  The most common defect that cropped up were programs that would size their text boxes and other elements by pixels.  Any programmer that gives two shits about their code knows not to do that.  But hey, this is Windows, the Easy Dev Land where All Are Welcome, so code quality is all over the place, even from sources that you would expect to know better.

To address the issue, Microsoft introduced a flag in the application manifest called dpiAware.  If this flag is not set, Windows will render the application at 96 DPI and then bitmap-scale the entire window up to your specified DPI.  The place that this really sucks is in games, which really don’t need to be hampered by unnecessary scaling as it is.  Nonetheless, a game that doesn’t set dpiAware and tries to run inside a window at 640×480 will render at 960×720 when using a DPI of 144.  On a 1368×768 screen, that doesn’t leave much room.

Chances are you’re using programs that all make an effort to be DPI-independent.  Some notable exceptions exist (Apple iTunes for Windows) but barring those exceptions, you may wish to completely forgo Display Scaling and leave it up to the application to worry about DPI.

Step 1: Open regedit and navigate to HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted and HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers.  Here you will find any Compatibility settings that you my have already set.  Feel free to clear out all the individual entries.  (You may wish to keep the ones under Layers that say ELEVATECREATEPROCESS as those are the ones that you or the programs themselves have set to run as an Administrator.)

Step 2: Right-click the desktop, select Personalize at the bottom of the menu, then click on Display in the left-hand column in the window that appears, then click Set Custom DPI Size from the new options that appear in the left-hand column, then check the box that says Use XP Style DPI Scaling, then click OK, then click Apply.  Log off and then back in for the settings to be applied.