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?

4 Answers 4

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.

4
  • 5
    I really don't think the "XP mode" is a hack; it's just that (as you say) most applications don't properly support high DPI. Thus, the addition of Vista mode, which is certainly a hack and must obviously be quite ugly (I haven't seen it, but there's no way for it not to be), but at least with that you probably won't go blind from squinting...
    – SamB
    Dec 8, 2010 at 16:48
  • This description only applies to DPI-unaware applications. It's understandable that DPI-aware applications aren't common - most GUI toolkits make it a major PITA to achieve that. WPF is an exception but it is unfortunately sometimes a PITA in other ways, including non-portability. Here's a working link on this topic: DPI scaling in Windows Vista
    – RomanSt
    Feb 6, 2011 at 10:08
  • 1
    @SamB I wouldn’t go blind from squinting, but i would certainly go blind from the blurriness and colour fringes of “Vista” mode.
    – kinokijuf
    Sep 26, 2013 at 9:02
  • @kinokijuf: you mean it still tries to apply ClearType in "Vista mode" windows? Eww.
    – SamB
    Sep 26, 2013 at 21:18
2

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

2
  • 2
    Also: It is critical that you use XP-style font scaling if you do any work in graphics programs.
    – kinokijuf
    Sep 26, 2013 at 9:03
  • 2
    This was probably true when it was written, but it isn't true now, at least not for Google Chrome. Google Chrome is DPI Aware, and uses Direct 2D on Windows 7 and up.
    – Warren P
    Nov 10, 2014 at 21:06
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.

1
  • One huge problem with downsizing your resolution on a non-CRT screen is that then the logical pixels don't match the physical pixels and you end up with the OS trying to display something that is, for example, 5 x 3 pixels in a 6 x 4 physical pixels and you get awful pixelization. And the OS doesn't do a nice job of rendering that. Jul 20, 2015 at 11:27
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).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .