Windows: How to test UI under high-dpi? Windows: How to test UI under high-dpi? windows windows

Windows: How to test UI under high-dpi?


If your app's layout behaves the same at 96, 120, 144, 150 dpi then I think there's no need to test it for even higher DPI, since you will have already tested that it works well for uneven dpi increments.

Actually there are many setups high-dpi-friendly already on the market, like 1680x1050 15,4" or 1920x1080 at 16" displays in notebooks, which at 120dpi already show pixel-dependency problems and are pretty uncomfortable to work with at 96dpi already so working on higher-density display support is valid. Good for you!

Edit: I've been thinking. That may not be very real-time, but maybe if you tried handling WM_PRINT or WM_PRINTCLIENT messages in your windows and printed it to a file or at least tried to show a print preview of them using printer settings? Suddenly we're in at least 300dpi. Just an idea.


I've just tried this with VirtualBox can report the following:

  • using a Windows XP host I can't really go beyond about 2000 x 2000, specifying those will simply switch back to 800x600
  • using a Ubuntu 11.04 host I can go to at least 4000x4000.

Since Windows Vista introduced a new driver model, I wouldn't be suprised if Vista/Windows 7 support those high resolutions as well. Unfortunately I don't have a Vista or Windows 7 host to test this myself.

The necessary steps are the following:

  • Switch to scaled display mode (using Host-C, where Host defaults to the right Ctrl key).this will draw a scaled version of the host display, so there's no need to use the RDP-trick. It also ensures that limited window size won't force the VM to reduce the screen resolution
  • Use the command-line tool VBoxManage to specify the resolution hint:

    VBoxManage controlvm "VM Name" setvideomodehint 4000 4000 32


You need a video card and a monitor that supports 1920 x 1200. Many users have these, and they're a joy to use if you're a developer. If you have 1600 x 1200 and don't want to spend the money on a new monitor that's fine. Beyond that, unless you're working for Pixar, I don't see the need.