I'm a bit rusty with my bloggy skillz, but here I go diving into it again. My goal on my blog is to always have fun yet provide decent foundation of information. I'm not a developer or full time debugger so I wont normally be code or debugger intense. What I want to do today is give an introduction and overview of High DPI and Scaling in Windows 10.
Let's start with the basics. There are a lot of terms tossed around when dealing with displays – I'll try to cover the most used:
What is DPI?
DPI is Dots Per Inch – the amount of pixels you can count linearly in an inch.
What is a Pixel?
Rumor has it that the term Pixel comes from Picture Element (as a combination of pic-el) and while this depends on the context, in this case we'll use the definition "A pixel is generally thought of as the smallest single component of a digital image" Remember back in the day when you could sit super close to the TV and see the Green, Red and Blue squares that make up the picture? Good times, good times!
Those are the main two, but I'll throw a few more out there:
What is PPI?
PPI is Pixels Per Inch.
What is Pixel Density?
Pixel Density is the number of Pixels on a display divided by the diagonal measurement of the display.
I'll take the definition for Image resolution: how much detail an image holds. The higher the resolution, the more detail it contains. As always, Bigger is Better. I mean Higher. Higher is better. You know what I mean…. Everyone wants the Sunday Football game to look awesome. Higher resolution, higher pixel density mean each blade of grass is visible on that touchdown replay. Still doesn't help if the Ref is blind!
What is Scaling?
Scaling is a term that often gets lumped together with DPI and Pixels and Resolution, and in some cases is used interchangeably. Scaling should be considered a unique element. It is more a factor of how crisp an element looks at various sizes. Ideally, something should looks as great at a large scale as it does a small scale. Scaling can be user controlled and set to how large or small the user wants them appear.
Why do we care about all this?
For the longest time, we didn’t. First we had those back-breaking glass tube monitors, once white (now funky yellow) and bulky, taking up most of your desk and a safe haven for dust bunnies and lost pens. Then came LCD monitors quickly turning to LED monitors, lighter and larger and brighter screens! Where once we had one dusty, smelly 15" monitors we have multiple 21"…27"…36" and usually an array of them! And now the buzz term is 4K monitors! I don’t know how everyone's office runs, but where I live there is a hodge-podge of monitors on everyone's desks. Usually, we get one nice new one every few years and then we scavenge for a few more small ones, some with a few pixels or lines out (but-hey-its 24" and I borrowed it fair and square!) or we bring in some from home that were just gathering dust. (Because more monitors imply we're more productive… or cool… or nerdy)
Bottom line, our monitors are not all the same. Many have differing resolutions and with each cool new technology jump, we're more likely to have at least one High DPI monitor at our disposal.
But isnt the Desktop PC dead?
The Desktop is just one scenario. Others scenarios deal with the expanding world of growing and shrinking form factors. On one side of the spectrum we have laptops, tablets and even phones that can be connected to external monitors via docking stations, connection cables or wireless. At the other end of the spectrum we have ultra large monitors (like the sweet upcoming Surface Hub) in conference rooms for presentations. In both cases, it's rare that you connect to the monitor with the exact same DPI or resolution settings and abilities. But, in most cases, you want your presentation to be flawless and visible, especially to the boss, and don’t want to mess around with a multitude of settings.
Still with me?
To recap – we have a variety of hardware form factors, all with their own native resolutions and specs (which may or may not be the same) and we have the ability and desire to connect this hardware to different systems. And we want it to look good. Or, more likely, we want it to look awesome.
That's not easy to do.
In past versions of Windows, when moving an element from one monitor to another when they have different resolutions, text may not scale correctly and look blocky or blurry and application windows may be larger or smaller than desired. The greater the difference in resolution, the more noticeable the change in Windows elements.
Windows 10 has made several improvements on how it handles different resolutions. But to promise that everything has been addressed is akin to saying you've counted all the stars in the sky. Bottom line, it is a very complex issue.
The focus for 10 was to provide a crisp and clean presentation across multiple interfaces. It works to present content in the best scale, but allows users to adjust this if needed. (Meaning, when you install Windows 10 it will present what it thinks is the best scale – so you will see "recommended" by the default setting.) It now handles per monitor DPI settings, meaning it reads the monitor's DPI and Resolution abilities and provides independent controls for Scaling (accessibly by right clicking on the desktop and selecting Display Settings.)
This previously was access to resolution settings but since most monitors are automatically set at their recommended/optimal setting by default, scaling has been given preference here.
If you connect a new monitor at a later point during a Windows session, it will detect the DPI settings and adjust elements on the fly. If a monitor is switched during a session (as in Docking or Undocking the monitor) Windows will adjust from the old to the new scale factor. This ensures that the content doesn’t become too large or tiny to the point where its unusable and users should have a consistent experience even when changing displays.
Many element of Windows 10 were rewritten to handle changing scale and are considered fully cooked. These include (but not limited to) the shell, taskbar, file explorer, desktop icons and context menus. There are some elements that still need some adjustments, but these are applications that get minimal traffic. To continue the cooking analogy – these elements are still baking and will be rolled out as they are completed via the new model of Windows milestone updates. Windows Insiders who run preview builds will see updates sooner, but typically on a fix by fix basis.
Beyond the core Windows 10 code and built-in applications updates, there are several other things that could still effect the Windows 10 experience with scaling and multiple monitors:
Universal Windows Apps(fka Modern Apps, fka Metro Apps) automatically get the scaling for free – they should all look great.
Windows desktop applications (or as I call them, applications) are dependent on their own code. This means that many applications may need to update their code to be multi-monitor DPI aware. (This depends on how the applications were originally written – some are easy to adjust to the new way Windows 10 handles multiple monitors and scaling, some cant handle it at all without being rewritten – as I threw out my disclaimer at the beginning – I don’t write code, but I'm told some applications may have defined widths/height of elements by hardcoding the number of pixels, in high DPI displays they would always appear small and never adjust. Some UI elements, like pictures and icons, may be only have a low resolution image, and will need a high resolution version added to not look fuzzy or blurry)
In the end, the experience with Windows 10 core features should be very good on a variety of screens. There may be some issues (in Windows) that aren't perfect yet, but are being worked on and updated in time. There also will be applications that may not be 100% yet. Many can be fixed and are likely being updated now. There are a few, depending on age and usage, that may not be updated.
Hopefully this gives you a good introduction to Windows 10 improvements for DPI and Scaling, how to adjust the scaling as needed if you use multiple monitors or switch between displays, how to identify if any issues are Windows based or application based and if it’s a DPI issue or Scaling problem.
And if you run into any issues? Detailed Feedback! Describing DPI and Scaling issues is not easy but if you think you are running into an issue, the only way it can have a chance of getting fixed is via feedback. (and screenshots – we <3 screenshots)
Things to watch out for are:
Does it always happen (can you make it happen on demand?)
What are the monitors in play?
How are they connected?
Is it a specific Windows element (File Explorer, Event Viewer) or is it another Microsoft application, Office, Skype etc or is it a third party application?
Is it Large but Crisp, or Large and Blurry? (scaling is working vs not)
If it’s a Windows element use the Windows Feedback app to see if it's been reported and vote that up!
If you want more in-depth information on Windows 10 DPI and Scaling updates check out this blog post from our Product Group (posted 12/9/15):
For now check out these links: