HydrogenAudio

Hosted Forums => foobar2000 => Support - (fb2k) => Topic started by: ierwin on 2016-11-17 15:01:52

Title: Scaling problem on different monitor
Post by: ierwin on 2016-11-17 15:01:52
Hello. Sorry for my poor English. I encounter a scaling problem related to Foobar.
In my case, I have 2 monitor in my system and running Windows 10 Pro 1607. Primary monitor is 5K*3K, 200% scaling. secondly monitor is 2560*1440,100% scaling. Foobar 1.3.13 looks perfectly on primary display, but when I drag the Foobar window to secondly, it looks a little blurry.
Some well-programmed app like Windows Explorer itself and Firefox won't make thing looks blurry. Please look into it. Thanks.
 
Title: Re: Scaling problem on different monitor
Post by: jazzthieve on 2016-11-17 16:19:33
I doubt this is Foobar's fault. I have a triple monitor setup, primary is 4k, the others are 1920*1080 (100% scaling...duh). The 4k is primary and at 150% scaling and I don't encounter the problems you describe. Switched to 200% and still see no problem.  Foobar is 1.3.10 on windows 10 home v1607.
Title: Re: Scaling problem on different monitor
Post by: Rollin on 2016-11-17 21:06:23
1.3.14 beta has "Various cosmetic fixes for high DPI screens".
Title: Re: Scaling problem on different monitor
Post by: ierwin on 2016-11-18 08:55:13
I doubt this is Foobar's fault. I have a triple monitor setup, primary is 4k, the others are 1920*1080 (100% scaling...duh). The 4k is primary and at 150% scaling and I don't encounter the problems you describe. Switched to 200% and still see no problem.  Foobar is 1.3.10 on windows 10 home v1607.

Actually most program (including Chrome, Pushbullet, etc) encounter same problem like I mentioned. Some program keep scaling 200% in second monitor (Adobe CC 2015, Telegram, VirtualBox).
Title: Re: Scaling problem on different monitor
Post by: ierwin on 2016-11-18 09:09:57
1.3.14 beta has "Various cosmetic fixes for high DPI screens".
Thanks for the tips. Let's wait for the next stable version.
Title: Re: Scaling problem on different monitor
Post by: jazzthieve on 2016-11-18 09:25:34
As I mentioned, I never encountered any of those problems you describe, not with any program I use including chrome.The only thing I noticed was a case of (drastically) wrong font scaling on the GUI of a program called Bulk image renamer.
Title: Re: Scaling problem on different monitor
Post by: YAOMTC on 2017-02-08 21:59:31
Here's a screenshot from my 4K monitor, where it normally looks good:

http://i.imgur.com/YeNtmQc.png

A shot of it on my 1080p monitor, where it doesn't normally look good:

http://i.imgur.com/7yMtKdm.png

I noticed this message in the display settings:

http://i.imgur.com/8sfAWvQ.png

So I disabled my 4K monitor, logged out and back in, and started up foobar2000. Screenshot:

http://i.imgur.com/IljgveP.png

So, it seems to use the scaling of the largest monitor, and stays with that. Doesn't have the ability to change its DPI currently. However, this is a common problem with many other apps, too.

Issues with different DPI monitors: KeePass, Microsoft Paint, VLC, 7-Zip, Audacity (not HiDPI-aware), Notepad2-mod, WordPad, LibreOffice

No issue: Windows Explorer, Firefox (on Windows anyway), Chrome, Edge

So, few apps do this the "correct" way. I'm hoping this will change soon, though.
Title: Re: Scaling problem on different monitor
Post by: gandhi on 2018-01-14 10:07:53
Could this issue be related to that Foobar2000 does not run as a "per-monitor aware" application?

As of today, Foobar 2000 1.3.17 is only System aware, not per-monitor aware:


DPI Awareness status definitions

Per-Monitor Aware: Per-monitor DPI-aware. These applications check for the DPI when they are started, and adjusts the scale factor whenever the DPI value changes. These applications are not automatically scaled by the system.

System Aware: System DPI-aware. These applications do not scale for DPI changes. They query for the DPI one time, and then use that value for the lifetime of the application. If the DPI changes, the application does not adjust to the new DPI value. It will be automatically scaled up or down by the system when the DPI changes from the system value.

Unaware: DPI-unaware. These applications do not scale for DPI changes. They are always assumed to have a scale factor of 100 percent (96 DPI). These applications are automatically scaled by the system at any other DPI settings.

https://support.microsoft.com/en-us/help/3025083/windows-scaling-issues-for-high-dpi-devices
Title: Re: Scaling problem on different monitor
Post by: Zao on 2018-01-14 13:54:27
The core problem with multi-monitor DPI awareness is that for extensible programs like foobar2000, all the components that do UI need to understanding the concept.

As the majority of the body of components are legacy, promising this in the core application would result in an UI mostly made for ants at best. It needs some sort of agreement with components to handle it, and as you indicate this in your executable manifest, you cannot do any form of decision at runtime as that's too late.

I wouldn't have any hopes on ever having better than system-aware foobar2000 unless there's a major break in component compatibility.
Title: Re: Scaling problem on different monitor
Post by: Zao on 2018-01-14 13:56:31
@jazzthieve The behaviour when you have system-aware applications depends on the direction the DPI change is, based on your primary monitor.

You're either getting a half-arsed upscale, or a reasonably crisp but wobbly downscale.