How to set systemwide "XP style DPI scaling" in Windows 8.1?

Solution 1:

Short answer (AFAIK): You can't anymore, as they reworked the DPI system in 8.1 to better adjust to newer HD displays and more complex setups (perhaps at the expense of running old, non-DPI-aware programs).

Check this out, from the "Windows Extreme Blog" (blogs.microsoft.com, Jul 15, 2013): Windows 8.1 DPI Scaling Enhancements

Blurb:

With the recent proliferation of high-DPI tablets, notebooks, and external displays these high-DPI and DPI scaling issues became an important consideration for Windows 8.1.

Windows 8.1 DPI scaling improvements are primarily focused on:

  • Optimizing the usability and readability of high-DPI displays
  • Providing a uniform experience [on] multi-display systems
  • Empowering developers to optimize app-specific scaling based on display DPI

Solution 2:

Long story short, you can set this globally by selecting "Let me choose one scaling level for all my displays" and signing out then back in.

This is how I found out: I ran into the same problem.

First I started fixing individually with compatibility settings but it soon becomes a headache because of so many different programs with this issue.

So reading some pointers you learn that this option is meant so that each program can be adapted to different displays working in parallel so that it is readable in each by scaling it up as a bitmap which renders it larger but ugly (blurry) in many cases - granted, some might want it on a single display but then they can use some optimized size value that will still render well.

So now Windows applies this to any monitor including the default even if it is the only one.

I figured that maybe, if you told it to just use the same scaling on all displays it would no longer need the overhead of the per-display bitmap routine and disable it altogether -or at least match the optimized values that had always been available and good.

The scaling functionality would simply match the manually selected values (Smaller - 100%, Medium - 125%, Larger - 150%, custom defined, etc.) without the per-display (bitmap) method which had always rendered nicely in the past.

Seems I guessed right since now all programs render quite beautifully and even larger which I was not expecting since the blurry option was actually also yielding smaller text in my case (I did change some text sizes to make touch display usage easier, maybe it was that.)

Since this is all I needed, I leave it to others to find out and clarify the exact mechanism of how this worked to improve what are simply conjectures of mine.