Bojan Petrovic

4K resolution and high DPI: What you need to know about it to have great visuals

April 26, 2018 by

4K resolution, AKA Ultra HD, refers to a horizontal screen display resolution in the order of approximately 3,840 pixels. On two-dimensional display devices such as computer monitors, it represents display resolution of 3840×2160 pixels which is four times as many pixels as regular Full High Definition (1920×1080). What this means for users is the more pixels per inch (PPI) the higher resolution on the monitor. In other words, you can be closer to the monitor and still enjoy a crisp, clear picture.

Comparison of common monitor resolutions

Basic concepts and terms

Just like hardware displays and form factors are an evolving technology, scaling in Windows has been evolving over the last several years with great improvements in the latest Windows 10. From a developer’s perspective, this represents a big challenge. But from a user’s perspective scaling only matters because Windows and your apps will run on a lot of diverse monitors. Diverse in many ways like size, resolution, density, viewing distance, etc.

Physical pixels

Physical pixels are the dots making up the screen: the smallest parts of the screen that can be lit up.

  • Physical pixels (red squares below) are smaller on denser screens
  • Physical resolutions (light grey text below) are larger on denser screens and on larger screens

Effective Pixels

Effective pixels are abstract units of the display; each one represents a block of physical pixels.

  • Effective pixels (red squares below) are the same size on all screens
  • Effective resolutions (light grey text below) are larger on larger screens, not on denser screens

In terms of resolution, we could be looking at a phone with low resolution and up to a 4K or even a 5K monitor that people are starting to switch over, so there we have a 6:1 ratio in size and capable of growing in the future. There’s is an insane diversity, if you’re thinking from a developer perspective, and there’s no way in a world you can target each of these different elements and the entire range of each one. Therefore, Microsoft provides DPI scaling AKA density/display scaling and it abstracts much of this complexity.

Scale factor

The scale factor is the ratio between the size of an effective and a physical pixel; it is the ratio by which operating system scales the UI so that effective pixels are the same size on all displays.

  • It also equals the ratio between the physical resolution and the effective resolution
  • The scale factor is in an approximation to the “ideal” scale factor; to keep things simple scale values are rounded up or down to a small number of Windows supported values

Scale factors for the examples above are shown here

From the user’s point of view, we get reliably-sized visuals and the content looks reasonably the same on all different devices right out the box without the need for any user interaction. This applies to a majority of Microsoft products just by sticking to the default (Recommended) settings.

Windows 10 display settings on a 15.6-inch 4K display

Even though SQL Server Management Studio (SSMS) is Microsoft’s product, it still doesn’t support the 4K resolution and high DPI. However, there’s beta support for 2016 and 17 versions to fix the application elements such as the taskbar, icons, toolbars, text, and dialog boxes that appear to be fuzzy. By default, this beta support is disabled but you could check out an article on how to enable High-DPI in SSMS and learn more about tips, tricks, and known issues.

SSMS on 4K resolution with initial high-resolution monitor support disabled/enabled

To see how we’ve implemented 4K/High resolution in our products, see this article: 4K resolution and high-DPI scaling support in ApexSQL tools/add-ins.

Bojan Petrovic
General, SQL Server Management Studio (SSMS)

About Bojan Petrovic

Bojan aka “Boksi”, an AP graduate in IT Technology focused on Networks and electronic technology from the Copenhagen School of Design and Technology, is a software analyst with experience in quality assurance, software support, product evangelism, and user engagement. He has written extensively on both the SQL Shack and the ApexSQL Solution Center, on topics ranging from client technologies like 4K resolution and theming, error handling to index strategies, and performance monitoring. Bojan works at ApexSQL in Nis, Serbia as an integral part of the team focusing on designing, developing, and testing the next generation of database tools including MySQL and SQL Server, and both stand-alone tools and integrations into Visual Studio, SSMS, and VSCode. See more about Bojan at LinkedIn View all posts by Bojan Petrovic

168 Views