1

I have several monitors with different pixel sizes (that is, size of individual pixels; not resolution). This means that when I put them next to each other and move the mouse between them, it's not perfectly smooth.

I know that in Windows, you can move monitors up or down relative to each other; but is there a way to "scale" them? To say "They have the same pixel height, but this one is an inch taller"?

phuclv
  • 27,773
Smashery
  • 309
  • 1
    I think the term you are looking for is that the monitors have different PPI or pixel density values. – sblair Sep 08 '11 at 23:14
  • If you have two 24" monitors at 1920 x 1200 - then they would both have the same "size of pixels" aka pixel density. If you had a 24" monitor and a 23" monitor at 1920 x 1200 - then the 23" would have a higher pixel density / smaller pixels. Are you working with 2 monitors with different sizes? – Dustin G. Sep 08 '11 at 23:34
  • For display monitors, the pixel size is typically specified by the "dot pitch" number, usually in millimeters. Obviously the pixel density can be derived from this spec. The dot pitch is an important number in evaluating the quality of CRT displays, since it relates to the max resolvable resolution. – sawdust Sep 08 '11 at 23:40

2 Answers2

2

There is no way to do that in the default interface. Some third-party app might do that, but I'm not sure what such a setting would imply. (Would an app's window get resized as you moved it from monitor to monitor?) Maybe we'll get it when we get resolution independent operating systems and window managers.

Unfortunately, the solution right now appears to be to move the monitors to different distances from you so the pixels appear the same size.

Cajunluke
  • 2,404
-1

is there a way to "scale" them?

Yes, by changing the monitor's dpi (ppi). For example if one screen is 24" and the other is 21" with the same resolution then the smaller one has 12.5% higher dpi, just set its dpi to ~112.5%

But in reality it's not simple as that. Previously all monitors are supposed to have the same dpi. That means you're out of luck if you use older Windows versions

However Windows 8.1 introduced the ability to have different dpi's, so you can have setups like two full HD monitors, one 18" at 150% dpi and the other 24" at 100% dpi and having things shown at the same size

That said, the support was very sketchy, because it's the first time ever Windows has per-monitor dpi settings. A program opening on a monitor will inherit that monitor's DPI. And when moving to another monitor it'll be scaled up/down depending on the dpi instead of being notified about dpi change, so the result will be worse (blurrier or sharpener)

Since then, MS has announced Per-Monitor V2 in Windows 10 1703 which are much better at handling hidpi displays

In conclusion, you need at least Windows 8.1 for this to work

Below is the summary of dpi support in Windows

DPI Awareness
Mode
Windows Version
Introduced
Application's view of DPI Behavior on DPI change
Unaware N/A All displays are 96 DPI Bitmap-stretching (blurry)
System Vista All displays have the same DPI (the DPI of the primary display at the time the current user session was started) Bitmap-stretching (blurry)
Per-Monitor 8.1 The DPI of the display that the application window is primarily located on • Top-level HWND is notified of DPI change
• No DPI scaling of any UI elements.
Per-Monitor V2 Windows 10 Creators Update (1703) The DPI of the display that the application window is primarily located on • Top-level and child HWNDs are notified of DPI change
• Automatic DPI scaling of:
• Non-client area
• Theme-drawn bitmaps in common controls (comctl32 V6)
• Dialogs (CreateDialog)

High DPI Desktop Application Development on Windows

See also

phuclv
  • 27,773