Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

To my knowledge windows is the only OS which renders the widgets at fractional scales and doesn't scale the output, but it only does it for apps which implement DPI awareness correctly. Some apps advertise to the OS they support DPI awareness, but then render controls at the wrong size. Others are GDI-based and don't support DPI awareness at all, and those are rendered 1x and scaled fractionally, which looks like a blurry mess.


Just made a comment about this recently, but a few year ago Microsoft added an enhanced GDI scaling mode. It applies the scaling during the GDI calls so it can render elements sharply. Obviously this won't magically make low-res images look better and it can't do anything about UI elements not rendered through GDI, but it's much better than just scaling the whole window up after it's rendered.


AKA the "Apple/Android/CSS was right" mode.

Personally I think they should abandon/maintenance-mode the "manually scale the pixels to fit the screen" mode and make the "virtual pixels" mode capable of supporting DPI-aware apps.


DPI awareness is generally supposed to be the domain of the lower levels of your GUI library, so that just about everything else above that level just works, and only a very few pieces in a very few apps need to concern themselves with scaling matters. The “System (enhanced)” scaling mode in question here is really just about doing that: patching GDI (the most common lowest level) to be as DPI-aware as possible if the app doesn’t have something else taking care of it.

Nothing about Windows’ approach to DPI awareness needs to be abandoned. Your app code isn’t supposed to be DPI-aware, you’re just supposed to use a GUI library that is.


Android and KDE use this method as well, which is very awesome as it provides the best performance and the best quality.


Interestingly, early versions of MacOS 10 supported this as a hidden feature. It never really worked properly.


It has never worked properly on windows either, but that hasn't prevented microsoft from shipping it. In fact, for a long time they didn't support per-monitor DPI awareness in the OS, so people with mixed DPI multi monitor setups had applications render at the wrong size or blurry when they moved them across. This was fixed in one of the windows 10 feature updates, and after that it was a patient wait for software to implement support for it. I believe MS Office 2019 was the version where it finally got correct support for it.


When the MMO Star Wars: The Old Republic launched, I tried the beta and kept having issues where it would launch to a black screen, wait, and then crash.

Someone, somewhere, figured out that the game only runs properly if you have the text scaling at 100%; I had it at 150% because I was playing on a TV and the screen was unreadable at 100%.

I have to wonder what Microsoft did with text scaling that it broke a DirectX game.


wow, I suddenly now understand why some of my Windows apps' UI's look so blurry




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: