I got a question from a colleague about this recently, and thought I should share the answer with everyone. Windows Vista has some special functionality for running on very high DPI displays (greater than 120 DPI). When you set your system DPI to a size larger than 120 in the control panel, the operating system will perform additional actions to scale the output of Windows that are not DPI aware.
The operating system virtualizes the system DPI for non-DPI aware applications, telling them that they are running at 96 DPI. The applications then get rendered to an off-screen surface and then the desktop composition system scales that surface up to a more appropriate size based on your DPI settings.
If you’re using an application that doesn’t scale well even at 120 DPI, you can also invoke this style of scaling at smaller sizes (between 96 and 120).
Here are instructions on how to do this:
- Open control panel from the start menu
- Type “dpi” in the search box to the right of the breadcrumb bar
- Select “adjust font size (DPI)”
- Select “allow” when User Account Control pops up
- The DPI scaling property sheet will pop up, click the “custom DPI…” button above “Apply” in the bottom right corner
- Uncheck the checkbox labeled “Use Windows XP style DPI scaling” to the left of the “OK” button.
- Click OK.
- Keep clicking OK until it tells you to reboot – then reboot.
This gets set automatically when you set your system DPI to a value larger than 120. Later on, if you set the value back to 96 or 120, the checkbox remains checked, so if you want to revert the default (XP-sytle) scaling, you need to manually uncheck the box.