26

I recently just moved to Windows 7 and I noticed that many of my older third-party apps didn't look so good at the high DPI I had set (150dpi versus the typical 96dpi). After searching the web for ways to get my apps to look good again, I stumbled upon the "Windows XP style DPI scaling" option. I enabled it and suddenly the apps looked good again.

While I'm happy, I'm also suspicious. What did I lose by enabling this feature?

Could someone explain to me the differences in how the screen is rendered with and without this feature, or explain the trade offs of using it?

studiohack
  • 13,477
jeffmaher
  • 515

4 Answers4

21

This answers your question rather well. In short, XP mode scales up the font and UI object sizes as if you'd gone and adjusted your theme's size settings, which can cause some graphical anomalies in some apps that're hardcoded to use default font and icon sizes.

"Vista" mode draws applications as standard 96 DPI to an off-screen buffer, and scales them up using your graphics card's texture resizing routines. If you've ever loaded an image with a lot of fine pixel detail into an image editor and resized it up, you'll probably find the induced fuzziness similar.

IMHO, they're both terrible hacks to get around the fact that truly DPI-independent applications are nearly nonexistent. Shame, really.

cher-nov
  • 149
Jessie
  • 2,044
2

You should always check the 'XP style font scaling' box. Otherwise, many applications (Google Chrome, for one) look blurry.

Colonel Panic
  • 12,549
0

In my own experience, correct me if I don't "IIRC", but the biggest downsize is that XP style scaling is actually buggy, and don't work for half applications. (i.e. it works, but they fail2scaleā„¢.)

Another cherry on top of the fuel on the fire on the salt of the wound is that XP scaling effectively disables HDPI scaling, but Vista scaling also allows that on a per-application basis, which works for more applications. (I ain't talking bout DPI aware apps)

To add to the confusion of the enigma wrapped in a riddle, Vista "style" HDPI per-app disabling works only for 32-bit applications up until Win 8.1, or maybe even 10.

Double PITA. But I don't blame Microsoft. Who could catch up with all that multi-monitor, multi-core, multi-everything-because-electrons-are-not-fast-enough-anymore-so-we-put-multi-in-front-of-the-name-of-the-technology-bs.

Yep. No biases, it's just a technology fact, proper DPI scaling is still futurism in software development.

EDIT

One of the consequences of the chaotic state is also very well explained in the Wikimedia Commons Guidelines (by the way, a pretty good guide to photography).

0

I've thought about it, and if you're trying to achieve a true upsize of everything 100% uniformly, then you might as well just downsize your resolution. It achieves the exact effect your asking about. In fact, it would be exactly like the Vista style scaling, except things won't be blurry. The only downside is you won't have apps that ignore the scaling to use the full resolution for things like HD video. But, if you have apps ignoring the scaling you've chosen, then it's defeating the purpose of the type of scaling you're asking about.

A possible solution in the future (for OS designers to add to their OSes) would be for users to choose a scaling that behaves like a smaller resolution, then allow apps to ask for your permission to use the full resolution for things like video. e.g. a video players launches an HD video, and windows asks if you'd like to allow the app to use unscaled resolution (with a note that this is good for things like HD video, etc).

A current solution is to allow apps to go full screen and change the video display resolution like games do, but most non-game apps don't implement it. For example, it'd be nice if I could put my desktop at a lower resolution for every day use so interface things and fonts would be bigger, but then an app like Chrome could go full screen and change the display resolution when playing a video. This would be the best solution if Windows (or any OS) made an API to allow apps to do this resolution switching easily when an app goes full screen.

trusktr
  • 1,249