Windows 8 and 8.1 Forums

Windows 8.1 DPI Scaling Enhancements

  1. #1

    Posts : 22,582
    64-bit Windows 10

    Windows 8.1 DPI Scaling Enhancements

    4K display technology is here, and if you haven’t seen a 4K display in-person prepare to be blown away! With products like the 32” Sharp PN-K321 4K Ultra-HD display now hitting the US market you can now experience this technology for yourself. These 4K displays aren’t inexpensive, but if your budget permits they offer an amazing picture for professional work or even entertainment.

    Windows 8.1 tri-mon setup from left: Samsung 23” full-HD, Samsung 27” WQHD, Sharp PN-K321 32” Ultra-HD

    While high-resolution displays are amazing they also present some practical challenges. When you increase resolution you inherently decrease the size of each pixel (assuming same display size). By decreasing the size of each pixel the content shown on the display appears smaller. When display Dots-Per-Inch (DPI) gets sufficiently dense this “shrinking effect” can make content hard to see and UI targets difficult to click/tap.

    Another challenge that is presented with the introduction of ultra-high resolution displays is dealing with multi-mon configurations with non-uniform DPI values. For example if you are running two 27” displays with one at full-HD and one at WQHD the content will not appear at the same scale when an app is moved from one display to the other. This is not an ideal user experience.

    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 multi-display systems
    • Empowering developers to optimize app-specific scaling based on display DPI

    Optimizing for High-DPI in Windows 8.1

    Sometimes facts and figures need some interpretation before they can be understood. If you’re comparing display DPI values between a phone, a tablet, and a desktop display you need to factor in viewing distance. As a quick exercise I calculated the “effective display DPI” values for my Nokia 920 phone and each of the displays in the tri-mon setup shown above. Here’s what I came up with when I calculated a “normalized 1-foot DPI value”:

    It’s interesting to note that my Nokia 920 (held at 9”) has the same effective DPI as the 32” Sharp 4K display (viewed at 22”). You can’t see the pixels in either display at these distances. On Windows 7 and Windows 8 I’ve noticed that some UI is hard to see at this effective DPI. In addition to being hard to see, it can also be challenging to interact with UI when using a mouse.

    In order to address these scale/DPI issues, in Window 8.1 the maximum DPI scaling value was increased from 150% to 200%. This additional scaling capability provides two distinct advantages for high-DPI displays on Windows 8.1:

    1. UI can scale larger which makes readability better and touch/mouse interactions easier.
    2. 200% scaling enables pixel-doubling for up-scaling which provides a clear and crisp appearance for images, graphics, and text.

    For comparison, here’s what you would see in Windows 8 in the Display control panel under “Appearance and Personalization”:

    In Windows 8.1 you can see here that DPI scaling goes up to 200%:

    So on Window 8.1 your apps will run better on 4K and other high resolution displays. This is good news for anyone running ultra-high resolution displays on Windows. But what if you have a multi-mon setup?

    Optimizing Multi-Mon DPI Scaling in Windows 8.1

    If you are running a screen resolution of 1366x768 on a tablet, chances are that UI will look good at 100% DPI settings. But what about when you connect that tablet to an external high resolution display? In Windows 8 you can choose either 100% to optimize the UI on the tablet display or up to 150% to optimize the UI on the external display. You have to compromise.

    Windows 8.1 takes care of this issue by supporting per-display DPI scaling. By default, Windows 8.1 will choose the optimum DPI scaling value for each display based on the value chosen for overall scaling in the control panel:

    In order to illustrate this feature, I adjusted the screen resolution for each of the three displays connected to my Windows 8.1 preview system to exaggerate DPI scaling. This resulted in the following physical display DPI values:

    • 23” display: 64 DPI
    • 27” display: 81 DPI
    • 32” display: 140 DPI (native)

    To show you how UI scales with this demo configuration, here’s a side-by-side view of the Calculator app side-by-side on each display using 100% scaling in the control panel:

    Side-by-side overlapping monitor configuration to show relative scale of UI

    Relative scale of calculator app with 100% scaling on all displays (close-up)

    This single scaling factor yields different physical scaling of the UI as you can see in the above photo. With only one scaling factor for all displays you have to make a compromise. With the new Windows 8.1 per-display DPI scaling turned on things look different:

    Relative scale of calculator app with automatic per-display DPI scaling (close-up)

    If we overlay screenshots of these calc.exe app instances, we can see how they are scaled differently at the pixel level:

    This translates to a much better user experience when you are running multiple displays with non-uniform physical DPI values. This behavior is automatic for desktop apps on Windows 8.1, but there are some cases where an app will require knowledge of DPI scaling so that app-specific scaling optimizations can be implemented. Windows 8.1 has an answer for that too!

    Enabling Custom DPI-Scaling for Apps in Windows 8.1

    There are a lot of things apps can do to optimize the user experience for DPI scaling. If we take a photo editing app as an example, there are some very important considerations. A photo editing app may want to scale UI elements like buttons and checkboxes, but not scale other content. If we consider the image viewing area of the app it may be critically important that that portion of the UI not be scaled. If the image viewing area of the app was automatically scaled to 200% you’d never be able to see your photo at native resolution because it would be pixel doubled. This could be a problem if the reason you bought that 4K display was to see more of your images at native resolution!

    Windows 8.1 provides APIs for apps to know what the optimal scaling value is. If you were developing that photo editing app, you could scale the toolbars and chrome based on the optimal scaling value and leave the image viewing area at 100% scale. Perfect!

    One example of an app that responds to DPI scaling in the Windows 8.1 Preview is IE 11. IE 11 uses the API to determine the optimal zoom level and adjusts it automatically.

    Here’s a side by side view of IE 11 using the automatic zoom across the 3 displays used for this article:

    IE auto-zoom at 100% zoom (left), 150% zoom (middle), 300% zoom (right)

    Notice how IE fills with width of the browser when maximized on each display. If we view a screenshot of all displays we can see how differently IE is scaled at a pixel level:

    Screenshot showing IE at 100% zoom (left), 150% zoom (middle), 300% zoom (right)

    If you are running a high resolution display or an extreme multi-mon setup Windows 8.1 has some great improvements to look forward to. I hope you’ll try it out!Find me on twitter here: @GavinGear


    See also: How to Change DPI Scaling Size for Displays in Windows 8.1

      My System SpecsSystem Spec

  2. #2

    USA, Idaho
    Posts : 1,062
    Win 8, (VM win7, XP, Vista)

    Now am I getting this right. . .you can change the DPI for each monitor not all of them at the same time as it is now. That would be great if you can.

    It would be really nice if you were able to go smaller for some of the larger monitors, albeit you would probably need the Monitor's manufacture to issue new drivers. . .oh well we can dream.

    Thanks Shawn. . .
      My System SpecsSystem Spec

  3. #3

    Posts : 22,582
    64-bit Windows 10

    Hello Lee,

    Sort of, but not like you are thinking. By default, Windows 8.1 will choose the optimum DPI scaling value for each display based on the value chosen for overall scaling in the control panel.

    An example they give for per-display DPI is:

    If you are running a screen resolution of 1366x768 on a tablet, chances are that UI will look good at 100% DPI settings. But what about when you connect that tablet to an external high resolution display? In Windows 8 you can choose either 100% to optimize the UI on the tablet display or up to 150% to optimize the UI on the external display. You have to compromise.
    If you have say two identical displays, then the DPI will be the same anyways with per-display. Per-display is good for when you have multiple displays of different sizes to have their DPI scaled at the pixel level so that you won't have the same DPI size that looks good on one display, but not on the other. The per-display basically makes your different size displays align.
      My System SpecsSystem Spec

Windows 8.1 DPI Scaling Enhancements
Related Threads
A while back I turned the bass booster on for my playback device (my general speaker which is playing through a Razer Kraken) since who doesn't like bass? Recently I've noticed that all I can see on the same tab now, from what I used to be able to see, which is what you would expect, everything, I...
When using DPI scaling in Windows 8.1, I've noticed that different programs are scaled in different ways: Scaling fully supported: This results in the best experience by far, but it seems only a handful of Windows components (e.g. Windows Explorer and Control Panel) as well as Office 2013 have...
Windows 8/8.1 Scaling issues in General Support
So I upgraded to Windows 8.1 on my Toshiba Satellite P75-A7200 laptop. I was previously running Windows 8, 64 bit and primarily just using the Desktop mode. I immediately noticed that the 1920x1080 resolution on Windows 8.1 made everything 10-15% smaller. Ultimately I decided to refresh back to...
Hi. I was wondering if it's possible to get sound enhancements on a computer that doesn't have them built in. What I mean by this is when you go to Volume Mixer > (click the audio device) > Enhancements tab, you see things like Bass Boost and Pitch Shift. If a computer doesn't have these...
Windows 8 Display Driver Model 1.2 Enhancements - Softpedia
Eight Forums Android App Eight Forums IOS App Follow us on Facebook