Jump to content
Sign in to follow this  
guy_b

Windows 10 - Panel titles and text is too small to read on HDPI screens

Recommended Posts

Hi,

 

This is a fairly common bug in older software, so I'm hoping you can fix it in Affinity Designer soon.

 

In Windows 10 they changed the way scaling works on high DPI monitors.

 

When using monitors with a high resolution on a small screen, it is often recommended to set the scaling level to 125% or more, however this causes blurring of text even inside of some of the native Windows Apps, making it pretty useless as an option.

 

However, unless one does this, the font sizes in the panels of Affinity Designer are tiny, too small to comfortably read.

 

Here is a link to an article which explains the problem quite well:

 

http://www.infoworld.com/article/2952506/microsoft-windows/high-resolution-displays-reveal-windows-10-blind-spot.html

 

While the issue itself might be attributed to Microsoft, the simple fact is that they may never fix it, which means that program developers need to fix it on their end to be compatible with Windows 10.

 

If you search around the internet there are literally 1000's of articles telling people that to fix the scaling issue on HDPI monitors, you need to increase the scale factor, but this is a nightmare because of the way it affects so many other programs.

 

Please fix this in Affinity. It can be done. I don't know where the latest information for this is, but here is what I could find so far:

 

https://msdn.microsoft.com/en-us/library/windows/desktop/dd464659(v=vs.85).aspx

Share this post


Link to post
Share on other sites

Thanks for the reply. So when you turn on scaling, does this not then mean that you run into compatibility issues with other programs, some of them even native Windows Apps?

 

I guess then what I am asking, is why do we need to use DPI scaling (which is still full of bugs), in order to use Affinity?

 

The problem is the Panels. All of them, the popouts and the pinned panels.

 

Unless we turn on scaling, which interferes with many other apps and causes font blurring, then the text in the panels in Affinity is too small to read.

 

That means that in order to use Affinity, we have to turn on scaling.

 

There is something basic missing here, because users should not be required to turn on a setting that breaks many of their other apps in order to use just one app.

 

Surely there is some way to make Affinity aware of scaling so that if it is not set to more than 100%, then the panels will display their text size at a normal size to be readable.

 

So my question is the opposite of what I think you may have understood it to mean (sorry if I explained it badly). The problem is not that Affinity is not HDPI aware, the problem is that it is HDPI aware but is forcing the rendering of the panel text into HDPI mode when the scaling is 100%.

 

p.s, this is not a problem on my large HD monitors, it is a serious problem on my small laptop screen which has a resolution of 1600x900

Share this post


Link to post
Share on other sites

Hi, unless I'm misunderstanding you, the problem is that your other software doesn't scale properly? If not, please attach a screenshot to the post just to clarify.

 

Affinity will render text at 100% if your display scale is set to 100%. And similar, if you have it set to 200%, the text will render at 200%.

 

Which other software are you having problems with?

Share this post


Link to post
Share on other sites

No, the problem is that Affinity is not scaling according to the font size settings. It is forcing the panel text to render in HDPI mode when the scaling level is set to 100%.

 

Or more accurately, Microsoft messed up with Windows 10 in the way that it deals with scaling, but unfortunately the only way it can be fixed is if all app developers build according to their API rules for HDPI monitors. 

 

It sounds like "mixed mode scaling" is what is required here.
 
Attached a screenshot.
 
Large monitors it is still legible at 100%, although not truly comfortable, but small monitors the text size is too small to read comfortably.
 
We should not be forced to set the scaling level to 125 or 150% in order to use an app where the monitor is set to 100% scaling.
 
I know this is a slippery thing to pin down, yet most apps handle ordinary scaling at 100% without causing issues, so I'm hoping this can be addressed... 

 

Here is more information:

 

https://blogs.windows.com/buildingapps/2016/10/24/high-dpi-scaling-improvements-for-desktop-applications-and-mixed-mode-dpi-scaling-in-the-windows-10-anniversary-update/#y2aA6bYUdLWdJBza.97

 

 

 

 

post-51611-0-45568500-1486648314_thumb.png

Share this post


Link to post
Share on other sites

I have noticed the same as the OP.  I don't think the problem is specific to just Affinity software, but software as a whole.  Not being a developer I'm not sure where the problem lies exactly, but the problem is the default menu text sizes are too small and aren't adjustable within the programs themselves.  Therefore the users options are:

 

1) Go to Settings > System > Display > and adjust the scaling system-wide.  The problem with changing the scaling system wide is firstly it makes everything massive (not just the text size), so it's not what we're looking for.  Secondly it can make things look soft or have blurry text.

 

2) Go to Settings > System > Display > Advanced Display Settings > Advanced Sizing of Text And Other Items > and change the font sizes.  The problem with this is although things like the menu bar text sizes can be changed, things like panels in Affinity Photo still use small text.

 

So it seems part of the problem is default text within Windows is set to 9, which is too small.  The second problem is even if users change text to say 11, it doesn't change all the text in software applications.

 

post-29590-0-84420700-1486657334_thumb.png

Share this post


Link to post
Share on other sites

Affinity could do what Adobe does, as well as others. They have to add their own UI Scale feature.

 

Running a 1440p monitor Windows properly suggests and selects NO system wide scaling. Which is a value of 100%. What Adobe does is add in their own UI scale code to let you use either the Windows scale or another value. On a 1440p 125% works nicely for Adobe. This scales not only the text, but also the tool icons and menus. YES, you can use the font size option in Adobe to change the scale of all UI fonts only, and that is another option.

 

I use this in other Adobe apps where I DON'T want the all of the interface scaled. (tool bars, buttons, etc) Point is, they give us options. Flexibility. It's just nice having PER APP control over this UI scale issue. Instead of having to force a UI scale across all of Windows.

 

 

Share this post


Link to post
Share on other sites

So how does this forum system work in terms of support?

 

It seems there is some interest in this topic, but other than the initial couple of responses by Mark Ingram, there has been no further input from the team so far.

 

It really is a severe handbrake on enjoying the tool properly, would appreciate further input from the developer team...

Share this post


Link to post
Share on other sites

DPI scaling is what you _want_ in this cases. It tells the whole system to scale UI elements higher because you have a higher DPI monitor.

The 'font blurring' happens with older programs which don't support it natively. Affinity Photo does.

 

I set my scaling higher, I get bigger UI elements, _without blurring_ and without issues. The image itself is unscaled, as it should be (was a long discussion before :P).

 

So what you're asking is that you _do not_ enable OS wide UI scaling, but that programs independently discover you have a high DPI monitor and scale up? That's not how it works, sounds like a very bad idea.

The OS scaling is made for this. In the WindowsXP-era this could cause issues because some programs behaved nicely without while others did not, and weird stuff happened :).

 

They fixed that from Windows 7 upwards so that older programs that don't support the OS-scaling parameter can scaled in their entirety. Yes, this causing 'blurring' (cause it's a low resolution image scaled up) but this way old legacy software still appears on your screen, without issues and while being bigger (because that is what you wanted :)).

 

Modern software listens to the OS scaling natively, and only scales up what makes sense (such as fonts and UI elements).

 

I have a fullhd-laptop on a < 15" screen, and I enjoy the OS DPI scaling set to (the weird )128%. All fonts and UI elements are perfectly sharp, no blurring.

 

What you're asking is for Affinity to say "no thanks Windows for this OS-wide dpi scaling solution, we do not want that, we will event the wheel again and do it ourselves"... doesn't sound right.

Share this post


Link to post
Share on other sites

All I want is to be able to read the text in the panel boxes and settings dialogs without needing to mess with the Windows settings in any way.

 

The problem is that the font size in Affinity for these items is too small to read.

 

Changing the DPI scaling in Windows might work for your PC, but it does not work on my laptop or my 3 large HD monitors because they are already using the recommended scaling factor. Increasing this causes blurring, therefore I cannot use scaling to solve this problem.

Share this post


Link to post
Share on other sites

> All I want is to be able to read the text in the panel boxes and settings dialogs without needing to mess with the Windows settings in any way

 

Then I think you're wanting something very special that you can't expect programs to cater for. The Windows settings are there for a reason.

 

Increasing this causes blurring

Not in Affinity it doesn't.. not here at least.

 

 

The whole thing is that you have a small surface area with a large amount of pixels, a larger-than-'normal'-DPI. So you need to tell a program that it must use more pixels 'than normal' to draw text and UI, because otherwise it would be too small. The DPI scaling setting is made for this (and since Windows 8 is set automatically by Windows if your monitor reports 'an  actual screen size' so DPI can be calculated).

 

It sounds like you're asking to be driven somewhere, but you don't want to get in a car. Sounds impossible.

Share this post


Link to post
Share on other sites

 

The DPI scaling setting is made for this (and since Windows 8 is set automatically by Windows if your monitor reports 'an  actual screen size' so DPI can be calculated).

 

It sounds like you're asking to be driven somewhere, but you don't want to get in a car. Sounds impossible.

 

 I'm sorry, I don't know what you mean by this.

 

If I am using the recommended settings for my monitors already, then increasing the scale factor causes blurriness.

 

This problem is affecting a lot of users negatively ever since the release of the Windows 10 Anniversary update.

 

The Microsoft Developer network is littered with discussions about the cause, and the rationale behind the change to the scaling algorithm.

 

I understand the nature of the scaling discussion, however the problem is that Affinity is rendering the font sizes in the Settings and Panel dialog boxes to be too small to comfortably read.

 

It does not sound unreasonable to request that this serious handbrake to using the tool should be looked into further. Throwing ones hands up and saying it is impossible to solve isn't constructive. 

 

It doesn't sound unreasonable to request that the font sizes inside the application can be updated to allow people to increase the size of the text.

 

Yes, this will use more space, which will needed to be padded. It isn't impossible, because setting the scale factor on some monitors to a higher than or equal to recommended scale factor solves the issue in Affinity and renders the fonts at a readable size, but as I have been saying, this is not the solution, because setting the scale factor globally to a higher than or equal to recommended value for the monitor resolution causes blurriness everywhere else, including all of the native Windows 10 applications, menus, settings windows and other applications.

 

If I knew the answer I wouldn't be asking the question, so I'm asking the question, and requesting that the developers of Affinity Designer look deeper into the cause because they have the skills as well as the insight of their own software to try and fix a problem that is affecting many users.

Share this post


Link to post
Share on other sites

Ok, well I've found what appears to help quite significantly, and basically it appears that since the Windows 10 Anniversary update, their change to the scaling code is far too generic to account for real monitor sizes.

 

The way in which their "new" system works, is to read the natural resolution of the monitor, and then to recommend a scaling factor based on the perceived pixel density.

 

However they have got it wrong. Many monitors actually have a different than the expected PPI for their size. Along with the screen resolution, Windows 10 also appears to be using the aspect ratio of the monitors to guess the pixel density, and then applies the scaling accordingly.

 

It has no way of understanding the differences in medium density screens with certain aspect ratios and is simply recommending a scaling factor based on dimension, rather than LCD technology, and it is incapable of seeing the actual visible screen size (which can be a few fractions of an inch more or less than whatever calculation algorithm they are using.

 

This means their recommended scaling level of 100% or 125% or 150%, or 175%, or 200% is too blunt.

 

Through trial and error, I've found that everything begins to scale correctly on the 1600 x 900 laptop when the scaling factor is set to 114%, and on the 3 large HD 1920 x 1080 monitors it needs to be set to 109% (or 110%).

 

This is because my actual screen sizes are not 1920 x 1080, but actually 1921.71875 x 1080.625

 

So to fix it, you have to use the settings that say are not recommended

 

If any other poor souls wander in here looking for a pill to ease their pain, here is the article that made me think it worth playing around with the not recommended settings by 1% tweaks (change, log out, log in, check, change, log out, log in, check...)

https://www.tenforums.com/tutorials/5990-dpi-scaling-level-displays-change-windows-10-a.html

 

and a cool site which tells you what your real screen size is:

 

http://dpi.lv/

 

It isn't a perfect fix, there is still a small amount of fuzziness in a few places (things like favicons in browser bookmarks, and various icons inside of gMail for example). However it is much better, and the text in the Affinity dialogs and panels is at least legible.

I guess we will have to wait until Microsoft fixes their rubbish code, and App developers in general to become aware enough of the issue to potentially build in accessibility features for their products.

Share this post


Link to post
Share on other sites

I just tested it here. Windows defaults to 100% scaling on both my monitors (including my 15" quadhd screen on another laptop ?!?!).

 

If I crank the scaling to 175%  and I log out and log in again (as the display dialog states: "Some apps will not respond to scaling changes until you sign out".

 

After logging in again I start Affinity, and I get all the UI and text bigger _but not blurred_. The image data is still at the exact same size (pixel for pixel), thank god for that.

 

 

If I make the scaling bigger but I do not log out again,then yes, Affinity is displaying blurred, because it can't read the new value yet until you log out and back again.

 

 

I've been reading up about it on MSDN about the scaling changes. It seems _nothing has changed_ since Windows 7 in how the scaling works exact for one thing: Previously you _had_ to log out and ilog in again to get some effect, what happens now is that they 'try' to apply the changes without logging out and in.. but still recommend you do. That's the blurring -> It's Windows scaling it up _until_ you logged out and logged back in.

 

Since the WDDM driver model in Windows Vista the scaling for Windows has not changed in how it works. In Windows 8 (or 8.1) they finally had the courage to enable it by default on a new Windows install if the monitor reported an actual display size, and now in Windows 10 Anni-update they tried to make it so you don't have to logout/login before it has affect (Which they warn for, doesn't work in all programs, Affinity one of them).

 

So: To get the display scaling you want: Set the scaling bigger in the Windows settings, log out, log in, tadah: Affinity does what you want. If you now have problems with _other legacy old_ software that looks blurry -> contact them to support the Windows scaling.

 

(Disclaimer: I'm not affiliated with Serrf / Affinity, just to be clear and in case I start to piss some people off :P)

Share this post


Link to post
Share on other sites

Right, well after more investigation, I don't think there is anything that Affinity can do other than to add the options (like Adobe) to provide internal font size settings for the dialogs and panels.

 

After a lot of testing, and reading, the problem is quite clearly related to the way in which Windows applies the scaling.

 

It is particularly problematic at the 125% "recommended" scaling which is advised for 13.3 inch widescreen laptop monitors.

 

Actually it is a problem generally with the 125% recommendation regardless of the actual diagonal screen measurement, and they have been talking about it ever since Windows 8.1 which is when they screwed things up.

 

They simply have not accounted for the odd screen sizes in laptops with these types of screens, many of which are not true HD monitors, and often have odd PPI densities like 138ppi, for example.

 

I've kind of given up on trying to get everything to work well on the laptop (1600 x 900 with diag 13.3inch and PPI of 138), and the closest I can get to something which is vaguely acceptable is a scaling level of 124% (rather than the recommendation of 125%).

Using 124% allows most native Windows dialogs and icons to display with minimal blurring, and the small fonts in Affinity are also legible (not quite a win-win situation, but close).

 

The way I got to the "closest match" of 124% for this particular monitor, was actually by looking at the desktop icon snapping for icons placed on the right edge of the screen. If you are 1% out of the best fit, the icons on the right won't snap to the right edge of the screen, and other programs will have blurring issues.

There is still a small amount of fuzziness in everything except for a few apps like Affinity which have added generic DPI awareness, even if it is not really being correctly applied - as demonstrated by the miniature fonts when the scaling is set to 100% at the monitors native resolution (yes, this can be fixed by the Affinity developers, although it's not really their fault, or their problem).
 

The technicality of the problem itself appears to be very subtle, which is why so many people can't seem to really understand the weirdness.
 

They can't see it because they are using devices on which the problem is not apparent. I guess I also need to bin my laptop, because the problem is endemic and won't be fixed by Microsoft very soon I don't think.

 

Ultimately the problem is one which is caused by Windows, as well as a general lack of understanding by developers of apps, and graphics chip / gpu drivers, in how to write their DPI awareness code correctly to deal with it.

 

Since there doesn't seem to be any input from the developers of Affinity regarding this issue I'm not sure there is much point in musing further, but here are a few more links for anyone who has the patience or curiosity to learn more.

Links:

 

https://msdn.microsoft.com/en-us/library/windows/desktop/mt744321(v=vs.85).aspx

 

https://msdn.microsoft.com/en-us/library/windows/desktop/dn469266(v=vs.85).aspx

https://msdn.microsoft.com/en-us/library/windows/desktop/ee308410(v=vs.85).aspx

 

https://msdn.microsoft.com/en-us/library/windows/desktop/hh447398(v=vs.85).aspx

Share this post


Link to post
Share on other sites

Ultimately the problem is one which is caused by Windows, as well as a general lack of understanding by developers of apps, and graphics chip / gpu drivers, in how to write their DPI awareness code correctly to deal with it.

 

Since there doesn't seem to be any input from the developers of Affinity regarding this issue I'm not sure there is much point in musing further, but here are a few more links for anyone who has the patience or curiosity to learn more.

 

 

1. Prior to Windows 8.1, display scaling was a mess. It's now been fixed to work sensibly. You should only need to change the display scaling, and nothing else (i.e. don't change text sizes). Windows initialises the DPI scaling setting based on your physical screen size and display resolution (i.e. you shouldn't need to change it unless you want your UI to be bigger or smaller across the entire system). Affinity correctly adheres to Windows display scaling settings. We're also fully per-monitor DPI aware.

 

2. I'm the lead dev for Affinity on Windows.

Share this post


Link to post
Share on other sites

And this is why windows 10 sucks..  I regret the day I installed it.  Why should I have to waste time fighting an incomplete OS to get work done.  I have a large number of programs that no longer scale correctly...  dare I say that Photshop CS4 is worse than Affinity in this respect !

 

I love Access 2003 and it is now fully broken in windows 10.

 

Maybe you could explain this screen shot:  http://www.jvs.de/affinity%20photo.jpg

 

A massive dialog box and tiny menus..  using Affinity Photo 1.5.x

 

No, windows 7 is still the better OS.

Share this post


Link to post
Share on other sites

1. Prior to Windows 8.1, display scaling was a mess. It's now been fixed to work sensibly. You should only need to change the display scaling, and nothing else (i.e. don't change text sizes). Windows initialises the DPI scaling setting based on your physical screen size and display resolution (i.e. you shouldn't need to change it unless you want your UI to be bigger or smaller across the entire system). Affinity correctly adheres to Windows display scaling settings. We're also fully per-monitor DPI aware.

 

2. I'm the lead dev for Affinity on Windows.

Mark, does DPI scaling affect the brush cursor in APh?  I've been making some DPI scaling changes on my new Surface Pro 4 and now I no longer have a circle showing brush size and cannot recover it. I have the Insider build 15031 but I also have that version on my desktop computer and no problems with the brush circle there. But my desktop monitor is not high dpi 1920x1080.

Share this post


Link to post
Share on other sites

 

1. Prior to Windows 8.1, display scaling was a mess. It's now been fixed to work sensibly. You should only need to change the display scaling, and nothing else (i.e. don't change text sizes). Windows initialises the DPI scaling setting based on your physical screen size and display resolution (i.e. you shouldn't need to change it unless you want your UI to be bigger or smaller across the entire system). Affinity correctly adheres to Windows display scaling settings. We're also fully per-monitor DPI aware.

 

2. I'm the lead dev for Affinity on Windows.

 

Mark,

 

1. Scaling does not work correctly in Windows 10 for all monitor resolutions, it a complete and utter mess, which is why I started this thread in the first place, even if the actual cause (as it turns out) is not a problem with Affinity.

 

The biggest problem area, after extensive reading and testing, appears to be small laptop screens where the recommended scaling level for best visibility (i.e, to actually be able to read anything without using binoculars) is 125%.

 

It is however also a problem with many larger monitors that are "wide screen".

 

It's a catch 22 for certain monitors, because leaving the scaling at 100% results in text in certain areas and programs to be so small as to be almost illegible., while using the recommended level of 125% results in certain things becoming legible (like the panels in Affinity), but renders everything else blurred or fuzzy.

 

This is the reason so many people have resorted to changing the font size settings to 10 or 11pt, but as we know this doesn't work properly across the board. Often it does work, until you start using apps that contain panels and dialog boxes that are not aware of the top level Windows settings (because Windows doesn't allow them to be) and ends up with discussions like these landing on the doorstep of software developers who have no control over the badly implemented operating system parameters. 

 

Why windows decided to dumb the settings down so that one can only choose scaling increments of 25% will remain one of those mysteries that may never get solved (some idiot in the basement of a building in San Jose deciding this was good for accessibility or something equally improperly thought through).

 

It is ironic that the correct setting can only be reached by going through to the old-school scaling settings and choosing something which is not recommended, and that a difference of just 1% to either side of the recommended settings can make the difference between legible, or useless. (and in the case of my large monitors, 26% above "recommended").

 

I think a major part of the problem appears to be that Windows use the point (pt) system for font sizing (and probably many other things, including the way it scales).

 

Points are a fixed dimension where 1pt = 1/72 of an inch. If a monitor has a PPI which cannot ever be divisible by the percentage of scale of the root unit upon which everything is based, you get this weird situation (on some monitors only, like mine, which has a PPI of 138).

 

This can be compounded by the fact that the reported resolution is not always correct either, and this is the fault of the device manufacturer. i.e, the resolution on this laptop is supposed be 1600 x 900 with a diagonal of 13.3 inches, while in reality it is 1600.3021346330643 by 901.1771122217178.

 

Whatever coding Windows 10 is using to calculate the scale for things does not, or is incapable of, translating the % of the absolute base unit sizing vs the reported PPI and screen resolution vs the real screen dimensions.

 

There is something in between the generic settings which does not scale properly under certain circumstances (could be a rounding error), so you have this situation of too big vs too small, or crisp vs fuzzy when the situation arises, and it is not a rare situation by all accounts.

 

I reached a working compromise by setting the scaling manually to 124%, which is too big for my liking, but it is crisp, and I can actually use Affinity on this machine (until I can afford to bin it).

 

On the 3 large HD monitors I use, I finally managed to get crisp results by setting the global scaling manually to 126% (even though the recommended level is 100%), and these monitors have a PPI of 168 while Windows 10 appears to think it is actually 96.

 

Once the scaling level is manually set to the correct level for your particular monitor, the default font size of 9pt scales properly, and finally everything works as expected.

 

In theory the new scaling model is "sensible", and if you are lucky enough never to have experienced the problem it is sensible, but in practice they have got it completely and utterly wrong, with the resultant confusion as demonstrated in forums like these.

 

The process of finding the correct scaling factor for all my monitors has been very painful to say the least, because I honestly had no idea how badly Microsoft had screwed things up.

 

I've seen the same questions raised in other graphics software forums like TechSmith, after they adopted the new scaling methodology, and the internet is littered with confused questions as a direct result of the way they (Microsoft) have done things.

 

It has actually been months of frustration for me in other areas, but I've lived with it because simple font sizing dealt with the issues in most software UI's. I only ended up pushing further because I just purchased Affinity last week after months of looking forward to the Windows version, and so badly want to get to know how to use this tool, only to discover it was pretty much useless to me because of the font size in the panels.

 

All along, it is because of Windows 10.

 

It is a dog's breakfast of the highest order, specially prepared by Microsoft.

 

It might also be unfortunate for some people that the per-monitor scaling can't be used when using the "old" manual settings, although this isn't a problem for me since I want all my monitors to scale at the same level.

 

2. Thanks for showing an interest, it's great when the lead developers of cool products take the time to communicate with their users and is much appreciated.

 

(3) I can finally begin learning how to use this wonderful tool! 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

Please note the Annual Company Closure section in the Terms of Use. These are the Terms of Use you will be asked to agree to if you join the forum. | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.