UI scaling on Windows 4k

Bumping this. With the impending release of Ableton 10 and HiDPI mode, this is now more important.


Windows introduced a per display DPI setting some years ago already (I think with Windows 8.1), but this needs support from applications — i.e. they have to respond to WM_DPICHANGED messsages. This is not supported by JUCE.

I tried to patch JUCE a while ago, and dynamically changing the desktop scaling factor of a window seems to work well, however I didn’t figure out how to change this scale factor and at the same time move the window to the suggested position.

No, that’s not true!

We do fetch the DPI for each display when building the list.

I’m referring to automatically changing the DPI setting on a window when moving between screens. That is reported with a WM_DPICHANGED message. Juce isn’t doing much in response to that message, see juce_win32_Windowing.cpp.


JUCE is currently system DPI aware on Windows meaning that the DPI of the primary monitor is used to scale all windows on all monitors and it doesn’t receive WM_DPICHANGED messages. I’ve had a quick look at changing this to be per-monitor DPI aware meaning that we get the WM_DPICHANGED messages, but figuring out how to respond to them correctly and resize/rescale everything is a big task. I’ll add it to our backlog.

Assuming someone is working on this at Roli, please be aware of the following:

In order to accurately test this, you need to set Windows global scaling to something besides 100%. The most common setting for 4K monitors is 125%. This results in a mismatch between what the app (either Studio One 3 or Live 10 < b7) thinks the DPI is and what the DPI actually is.

The net result is different in the two apps, but it is bordering on comically problematic in Studio One 3.

As far as I am aware, Studio One 3 is the only currently available truly HiDpi host on Windows. Bitwig purports to be, but they just do pixel doubling like Live 10, so the net result is a plugin that is just drawing at 96dpi but upscaled. This is the method Ableton went with for the public beta of Live 10, and considering the massive problems they were having, I don’t expect a change any time soon.

Has there been any updates on this? I’ve ran into this issue on my MBP with bootcamp Windows installed (which defaulted to 200% scale when first installed).

We also have a Studio One customer reporting this issue.

Bumpety Bump Bump!

I’m experiencing this issue in Windows 10 on my 4K monitor and a Surface Pro. Has there been any development with this? My plugin scales correctly without using an affine transform or global scale factor but all my submenus (popups, combobox, etc.) are not scaling correctly.

In the meantime a whole new scaling system on windows was added, see the release notes here:

If you experience problems with the current version, it’s probably the best to open a new thread and let this one rest in peace.