HiDPI & Retina Display Support: Why Do You Care?

With the arrival of high-density monitors on laptops then desktops a couple of years ago, both Microsoft and Apple added special features to their operating systems to support these screens which have much larger density of pixels: Retina Display on Mac, and HiDPI scaling on Windows (DPI stands for “Dots Per Inch“).

Both approaches are quite different, and result in different user (and developer) experiences, although the goal is simply to let applications and plug-ins display higher resolution user interfaces (with crispier graphics and text) on these screens.

Although the main purpose of pro audio plug-ins is to process sound, a nice and easy-to-read user interface is definitely a plus, especially for visualization plug-ins! Let’s see how high resolution displays are supported on both platforms and what it means for you!

MacOS Retina Display

On Mac, things are pretty simple: MacOS only supports double-density scaling, which means 4 times the number of pixels on the same surface.

Developers only have to care about displaying images with twice the width and height as usual, and with a few minor changes, most apps and plug-ins have been able to support Retina display pretty fast – most Mac users are in fact not truly aware of the type of display they are using, except that apps (and especially text) usually look much crispier on Retina displays.

Blue Cat Audio has been supporting Retina displays for a while, with crisp text and vector graphics, but we have recently improved our rendering engine to get much better scaling on non-vector images, especially at lower user interface zoom levels (did you know that all our user interfaces support zooming? Yes they do!).

This results in even crispier user interfaces with much better details on Retina displays, as you can see here (click on the images to enlarge to full resolution):

Old vs new: new Retina support on the right
Axiom New HiDPI Preview
Previous Axiom Version

These improvements are now available in the latest previews of all our plug-ins, so check them out!

Windows HiDPI Scaling

On Windows things are a bit more complex. It took Microsoft a couple of iterations over an entire decade to refine their ideas about supporting high resolution displays. If you ever used laptops with high density displays on Windows 8 more than 10 years ago, you have probably noticed how most apps did not work fine on those displays, looking tiny or blurry, or completely messed up. And it’s only with Windows 10 Anniversary Update that things started to work a bit more smoothly!

A Bit of History

HiDPI support was introduced with Windows Vista in 2007. At the time though, it was assumed that all displays connected to a computer would have the same DPI, so it supported only a single scaling factor for all screens, set upon session load… Not very useful, and applications had to be updated anyway to support it, so it was barely used at the time.

Multi Monitor scaling support was introduced with Windows 8.1 in 2013, but with many gotchas and issues. It took a few more years and iterations to get to the Windows 10 Anniversary Update (1607) in 2016, and finally the Windows Creators Update (1703) in 2017 to get proper support for multi-monitor scaling.

Software Support

It took so many years and iterations to alter and complete the Windows HiDPI subsystem, that supporting multi-monitor HiDPI scaling on Windows is quite complicated for developers. This Microsoft blog post explaining how they tried to make Notepad (!) DPI-aware and the issues they encountered gives a good idea.

There are many layers available, and at the difference of MacOS, it is  not transparent: all scaling is done manually by each application or plug-in (whereas on Mac it is mostly hidden and done by the system for you, with a few bugs over the years though). Also, Windows supports non-integer scaling (it’s not just twice the width/height, but 125%, 150% etc.), which is nice for end users, but implies some complications to support these properly.

For us audio enthusiasts, it becomes even more complex when adding plug-ins to the party: some hosts do support parts of multi-monitor scaling, some do not at all, and it is the same for plug-ins. It means a lot of bad plug-ins/hosts/system combinations, which result in weird behavior for end users and unexpected issues such as tiny or blurry user interfaces on recent 4K high-density monitors. And since we do have plug-ins that are also hosts for third party plug-ins (such as PatchWork, Axiom, MB-7 Mixer…), it’s a lot of fun to get things working as smoothly as possible :-).

Because of these reasons, our first move was to support manual scaling for our user interfaces (with individual GUI zoom). Thanks to this feature, it was possible to work with whatever combination of apps/systems and screens and get an acceptable experience, even though user interfaces were not scaled automatically when moving them to another display with different scaling factor.

Latest Update

Now that many apps and plug-ins seem to be supporting HiDPI properly on Windows, it is time to jump into the boat and support it natively in our apps, plug-ins and hosts! Of course, since legacy plug-ins support matters, our hosts include an option to let the system scale the user interface of such plug-ins for you, so that they do not look tiny on the screen (they will look a bit blurry though).

All these improvements are currently available as previews for all our software. Please give them a try and tell us if they work for you. They have been tested quite intensively, but maybe we missed something, so feel free to tell us if you have any issue (or if it works well for you!).

Summary: Previews Benefits

On Mac:

  • Crispier user interfaces on Macs with Retina Display (improved scaling of non-vector graphics images).

On Windows:

  • Automatic scaling of user interfaces based on user display scaling settings.
  • Crispier user interfaces on HiDPI displays (for standalone apps or plug-ins loaded in hosts that support HiDPI scaling).
  • Legacy third party plug-ins support in our hosts, with auto-scaling option.

HiDPI support for our software is available on Windows 10 Anniversary Update (1607) and newer, in hosts applications that support HiDPI.

Note: previews for our free plug-ins can be found here.

Enjoy!

>discuss this topic in the forum

Leave a Reply

Your email address will not be published. Required fields are marked *