• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Windows 10 "Recommended" DPI scaling question

Joined
Feb 20, 2019
Messages
385 (1.16/day)
System Name PowerEdge R730 DRS Cluster
Processor 4x Xeon E5-2698 v3
Cooling Many heckin screamy bois
Memory 480GB ECC DDR4-2133
Video Card(s) Matrox G200eR2
Storage SD Card. Yep, really no other local storage.
Display(s) It's probably a couple of boring Dell Ultrasharps and a sacrificial laptop.
Case 39U 6-rack server room with HEVC and 44KVA UPS
Mouse Maybe
Keyboard Yes!
Software ESXi 6.5 U3
Benchmark Scores I once clocked a Celeron-300A to 564MHz on an Abit BE6 and it scored over 9000.
So I've been slowly dialling back my fight with windows 8/10 default display scaling as more and more applications, utilities, and webpages become high-DPI aware.

In the past, I've forced custom display scaling settings, and even modified the logpixels registry value with domain GPOs for certain groups of devices but I'm coming to the conclusion that there must be a better way.

I've just spent half an hour setting up a batch of new laptops that have 13" 3200x1600 displays and every time I login as a new user it chooses the (Recommended) display scaling determined by Windows.

Capture.PNG


In the case of these laptops, it's recommending 250% which is stupid, because that downgrades the effective desktop area to an effective 1280x720 resolution which makes the desktop usable area equivalent to a paltry 720p display. Back in the Windows 7 days, there was even a warning at 720p informing users that some elements of the Windows UI wouldn't fit on the screen! Is there a way to change the (Recommended) setting that windows uses by default for all users of a device? 200% is probably best but both methods I know of are either useless for new users of a (shared pool) laptop, or overly restrictive (users cannot revert to 100% scaling for legacy applications that REQUIRE it to function).

This is a question that has been nagging me for a few years really. I've sent Microsoft feedback before via beta feedback, personal technet post, enterprise support tickets - and never had any response of value.

Essentially, Microsoft determines a scaling factor arbitrarily without any knowledge of how far a typical user of the display will be sitting from it, or what context the display will be used for. All it knows is the resolution and screen size and OBVIOUSLY the default font size can only be sensibly chosen with knowledge of how far the user will be from the display.
 
Joined
Jun 2, 2017
Messages
1,816 (1.89/day)
System Name Best AMD Computer
Processor AMD TR4 1920X
Motherboard MSI X399 SLI Plus
Cooling Alphacool Eisbaer 420 x2 Noctua NHU-14S TR4
Memory Gskill RIpjaws 4 3000MHZ 48GB
Video Card(s) Sapphire Vega 64 Nitro, Gigabyte Vega 64 Gaming OC
Storage 6 x NVME 480 GB, 2 x SSD 2TB, 5TB HDD, 2 TB HDD, 2x 2TB SSHD
Display(s) Acer 49BQ0k 4K monitor
Case Thermaltake Core X9
Audio Device(s) Corsair Void Pro, Logitch Z523 5.1
Power Supply Corsair HX1200!
Mouse Logitech g7 gaming mouse
Keyboard Logitech G510
Software Windows 10 Pro 64 Steam. GOG, Uplay, Origin
Benchmark Scores Firestrike: 24955 Time Spy: 13500
This is a common issue with Windows 10. My 4K monitor is defaulted to 300% and my 10080P monitor defaults to 150%. Especially when using dual monitors.
 
Joined
Mar 24, 2010
Messages
5,034 (1.40/day)
Location
Iberian Peninsula
System Name Mile High Club Case
Processor i9 9900KS@5000
Motherboard Asus Maximus XI Extreme (Z390)
Cooling EK 480 Extreme
Memory 16Gb G.Skill TridentZ 3866@4000
Video Card(s) nVidia 2080 TI
Storage 2x Adata XPG 1tB, 2x Sam 840Evo 1TB SSD, WD Black 2TB, Toshiba 3TB
Display(s) Benq 32"
Case ThermalTake Core P5
Audio Device(s) Sennheiser boxy thingy
Power Supply ThermalTake 1200
Mouse Mad Catz Pro X
Keyboard Asus Claymore
Software W10Home
I have a UDH 32" together with a 7" monitor (not for text, just Aida, etc). My default layout is 100% and it is fine.
 
Joined
Jul 25, 2006
Messages
6,364 (1.29/day)
Location
Nebraska, USA
System Name Brightworks Systems BWS-6 E-IV
Processor Intel Core i5-6600 @ 3.9GHz
Motherboard Gigabyte GA-Z170-HD3 Rev 1.0
Cooling Quality case, 2 x Fractal Design 140mm fans, stock CPU HSF
Memory 16GB (2 x 8GB) DDR4 3000 Corsair Vengeance
Video Card(s) EVGA GEForce GTX 1050Ti 4Gb GDDR5
Storage Samsung 850 Pro 256GB SSD, Samsung 860 Evo 500GB SSD
Display(s) Samsung S24E650BW LED x 2
Case Fractal Design Define R4
Power Supply EVGA Supernova 550W G2 Gold
Mouse Microsoft Wireless 5000
Keyboard Microsoft Wireless Comfort 5050
Software W10 Pro 64-bit
This is a common issue with Windows 10.
I don't see this as a W10 issue. I've been using multi-monitor setups since Windows 95. The fact of the matter is, operating systems don't communicate directly with the attached monitor(s). Operating systems communicate with the graphics solution (integrated or card), which then talks to the monitor(s). So if there is a display problem, it really lies with the card's drivers.

I used to always recommend multi-monitor users use a multi-monitor utility such as UltraMon or DisplayFusion) - especially if using dissimilar monitors in the setup. But with Windows 10, I have not found them necessary.

If you are having problems, I say don't blame Windows. Complain to your card maker.
 

Solaris17

Dainty Moderator
Staff member
Joined
Aug 16, 2005
Messages
21,140 (4.01/day)
Location
Florida
System Name Venslar
Processor I9 7980XE
Motherboard MSI x299 Tomahawk Arctic
Cooling EK Custom
Memory 32GB Corsair DDR4 3000mhz
Video Card(s) Nvidia Titan RTX
Storage 2x 2TB Micron SSDs | 1x ADATA 128SSD | 1x Drevo 256SSD | 1x 1TB 850 EVO | 1x 250GB 960 EVO
Display(s) 3x AOC Q2577PWQ (2k IPS)
Case Inwin 303 White (Thermaltake Ring 120mm Purple accent)
Audio Device(s) Realtek ALC 1220 on Audio-Technica ATH-AG1
Power Supply Seasonic 1050W Snow
Mouse Roccat Kone Aimo White
Keyboard Ducky Shine 6 Snow White
Software Windows 10 x64 Pro
So I've been slowly dialling back my fight with windows 8/10 default display scaling as more and more applications, utilities, and webpages become high-DPI aware.

In the past, I've forced custom display scaling settings, and even modified the logpixels registry value with domain GPOs for certain groups of devices but I'm coming to the conclusion that there must be a better way.

I've just spent half an hour setting up a batch of new laptops that have 13" 3200x1600 displays and every time I login as a new user it chooses the (Recommended) display scaling determined by Windows.

View attachment 139181

In the case of these laptops, it's recommending 250% which is stupid, because that downgrades the effective desktop area to an effective 1280x720 resolution which makes the desktop usable area equivalent to a paltry 720p display. Back in the Windows 7 days, there was even a warning at 720p informing users that some elements of the Windows UI wouldn't fit on the screen! Is there a way to change the (Recommended) setting that windows uses by default for all users of a device? 200% is probably best but both methods I know of are either useless for new users of a (shared pool) laptop, or overly restrictive (users cannot revert to 100% scaling for legacy applications that REQUIRE it to function).

This is a question that has been nagging me for a few years really. I've sent Microsoft feedback before via beta feedback, personal technet post, enterprise support tickets - and never had any response of value.

Essentially, Microsoft determines a scaling factor arbitrarily without any knowledge of how far a typical user of the display will be sitting from it, or what context the display will be used for. All it knows is the resolution and screen size and OBVIOUSLY the default font size can only be sensibly chosen with knowledge of how far the user will be from the display.
So like do you need to dictate a users scaling resolution? You spoke alot about how much you disliked it. What about your users?
 
Joined
Feb 20, 2019
Messages
385 (1.16/day)
System Name PowerEdge R730 DRS Cluster
Processor 4x Xeon E5-2698 v3
Cooling Many heckin screamy bois
Memory 480GB ECC DDR4-2133
Video Card(s) Matrox G200eR2
Storage SD Card. Yep, really no other local storage.
Display(s) It's probably a couple of boring Dell Ultrasharps and a sacrificial laptop.
Case 39U 6-rack server room with HEVC and 44KVA UPS
Mouse Maybe
Keyboard Yes!
Software ESXi 6.5 U3
Benchmark Scores I once clocked a Celeron-300A to 564MHz on an Abit BE6 and it scored over 9000.
So like do you need to dictate a users scaling resolution? You spoke alot about how much you disliked it. What about your users?
We're a design studio. lots of CAD/CAM and wireframe, so scaling 100/200/300 work for applications without proper high-dpi support but that's it. Additionally the vast majority of the software our staff use is densely toolbar'ed so the viewport/working area diminishes exponentially with each DPI scale increase. At 200% on these laptops (effectively a 1600x900 legacy app resolution) things are already pushing the limits of what's acceptable, but 150% and 175% just looks like ass.

One of the most common questions in conference rooms is "how do I make the font smaller" because the televisions all default to somewhere between 250% and 300% which makes them utterly useless for anything except Powerpoint slides for the partially-blind.

Going back to these laptops though, people will have a range of preferences, and I would guess that the acceptable range for that size and resolution would be somewhere between 150% and 225%. I've been doing this for users ever since highdpi displays first caused them to moan about scaling, and if you can get an integer scaling value that's even vaguely in the right ballpark, people don't even mention it, they're simply happy with how it is.

I don't see this as a W10 issue. I've been using multi-monitor setups since Windows 95. The fact of the matter is, operating systems don't communicate directly with the attached monitor(s). Operating systems communicate with the graphics solution (integrated or card), which then talks to the monitor(s). So if there is a display problem, it really lies with the card's drivers.

I used to always recommend multi-monitor users use a multi-monitor utility such as UltraMon or DisplayFusion) - especially if using dissimilar monitors in the setup. But with Windows 10, I have not found them necessary.

If you are having problems, I say don't blame Windows. Complain to your card maker.
Uh, no - it has nothing to do with your GPU vendor. Microsoft have stated how it works, but just to make a quick and obvious point, Optimus laptops exhibit the same scaling factor regardless of whether it's an Intel driver or Nvidia driver, and even with no driver (just the Microsoft Basic Display Adapter). Meanwhile, there's huge variation among all the various laptop models using an array of sizes and resolutions yet all sharing a common Intel HD graphics variant and driver.

One of the many Microsoft blogs from the days of Windows 10 preview went into detail about the new high-dpi support and revamped scaling; They stated in no uncertain terms that the optimum (Recommended) scaling value was chosen based on the resolution and physical size. Any display's EDID reports both of those to the OS and this does not require the GPU driver to get involved (or even be installed) at all.
 
Joined
Jul 13, 2016
Messages
578 (0.45/day)
We're a design studio. lots of CAD/CAM and wireframe, so scaling 100/200/300 work for applications without proper high-dpi support but that's it. Additionally the vast majority of the software our staff use is densely toolbar'ed so the viewport/working area diminishes exponentially with each DPI scale increase. At 200% on these laptops (effectively a 1600x900 legacy app resolution) things are already pushing the limits of what's acceptable, but 150% and 175% just looks like ass.

One of the most common questions in conference rooms is "how do I make the font smaller" because the televisions all default to somewhere between 250% and 300% which makes them utterly useless for anything except Powerpoint slides for the partially-blind.

Going back to these laptops though, people will have a range of preferences, and I would guess that the acceptable range for that size and resolution would be somewhere between 150% and 225%. I've been doing this for users ever since highdpi displays first caused them to moan about scaling, and if you can get an integer scaling value that's even vaguely in the right ballpark, people don't even mention it, they're simply happy with how it is.


Uh, no - it has nothing to do with your GPU vendor. Microsoft have stated how it works, but just to make a quick and obvious point, Optimus laptops exhibit the same scaling factor regardless of whether it's an Intel driver or Nvidia driver, and even with no driver (just the Microsoft Basic Display Adapter). Meanwhile, there's huge variation among all the various laptop models using an array of sizes and resolutions yet all sharing a common Intel HD graphics variant and driver.

One of the many Microsoft blogs from the days of Windows 10 preview went into detail about the new high-dpi support and revamped scaling; They stated in no uncertain terms that the optimum (Recommended) scaling value was chosen based on the resolution and physical size. Any display's EDID reports both of those to the OS and this does not require the GPU driver to get involved (or even be installed) at all.
I know how bad windows can be at DPI scaling. On a 4K screen, thumbnails can be rather small as windows does not allow you to scale them above 256 x 256.

Have you tried right clicking on the application icon >properties > compatibility > Change High DPI Options?
 
Joined
Feb 20, 2019
Messages
385 (1.16/day)
System Name PowerEdge R730 DRS Cluster
Processor 4x Xeon E5-2698 v3
Cooling Many heckin screamy bois
Memory 480GB ECC DDR4-2133
Video Card(s) Matrox G200eR2
Storage SD Card. Yep, really no other local storage.
Display(s) It's probably a couple of boring Dell Ultrasharps and a sacrificial laptop.
Case 39U 6-rack server room with HEVC and 44KVA UPS
Mouse Maybe
Keyboard Yes!
Software ESXi 6.5 U3
Benchmark Scores I once clocked a Celeron-300A to 564MHz on an Abit BE6 and it scored over 9000.
Let me reiterate: I know how to handle all of the OS and driver scaling options myself.

I'm looking to fix a bad default for all applications and all users of a device by changing the OS default. Let's assume these laptops are going to be used by 250 people over their lifespan. I would estimate that 100 of them have no idea how to fix DPI scaling without assistance, and another 100 of them will soldier on with the terrible default and then say that it was awful when they return it. It absolutely has to be a solution that applies the correct scaling value to the laptop display for all future users, even those that have never logged on before. I can't lock the dpi scale because the power users will want it available, and I can't use the override because then it'll mess with the externals displays that the laptop gets connected to for presentations.

The more I think about this, the more I'm guessing that some dumb factor is hardcoded into the OS and I should just find a way to edit the EDID of the laptop's own display and tell windows that the display is actually physically bigger that it really is as a kludge workaround for shortsighted OS design.
 
Last edited:
Joined
Mar 24, 2010
Messages
5,034 (1.40/day)
Location
Iberian Peninsula
System Name Mile High Club Case
Processor i9 9900KS@5000
Motherboard Asus Maximus XI Extreme (Z390)
Cooling EK 480 Extreme
Memory 16Gb G.Skill TridentZ 3866@4000
Video Card(s) nVidia 2080 TI
Storage 2x Adata XPG 1tB, 2x Sam 840Evo 1TB SSD, WD Black 2TB, Toshiba 3TB
Display(s) Benq 32"
Case ThermalTake Core P5
Audio Device(s) Sennheiser boxy thingy
Power Supply ThermalTake 1200
Mouse Mad Catz Pro X
Keyboard Asus Claymore
Software W10Home
As a translator (not for English, rest in peace, lol), I can add this: there are industry wide used programs like Trados or MemoQ that have not been able during 10 or more years to update their interfaces/engines and make them work well with high res monitors. Not MS fault. Their fault. Using Windows Compatibility options helps somewhat. But in the cases you describe above I can imagine the nightmare.
 
Joined
Sep 17, 2014
Messages
10,747 (5.51/day)
Location
Mars
Processor i7 8700k 4.7Ghz @ 1.26v
Motherboard AsRock Fatal1ty K6 Z370
Cooling beQuiet! Dark Rock Pro 3
Memory 16GB Corsair Vengeance LPX 3200/C16
Video Card(s) MSI GTX 1080 Gaming X @ 2100/5500
Storage Samsung 850 EVO 1TB + Samsung 830 256GB + Crucial BX100 250GB + Toshiba 1TB HDD
Display(s) Eizo Foris FG2421
Case Fractal Design Define C TG
Power Supply EVGA G2 750w
Mouse Logitech G502 Protheus Spectrum
Keyboard Sharkoon MK80 (Brown)
Software W10 x64
I don't see this as a W10 issue. I've been using multi-monitor setups since Windows 95. The fact of the matter is, operating systems don't communicate directly with the attached monitor(s). Operating systems communicate with the graphics solution (integrated or card), which then talks to the monitor(s). So if there is a display problem, it really lies with the card's drivers.

I used to always recommend multi-monitor users use a multi-monitor utility such as UltraMon or DisplayFusion) - especially if using dissimilar monitors in the setup. But with Windows 10, I have not found them necessary.

If you are having problems, I say don't blame Windows. Complain to your card maker.
Wh.... its an option Windows offers, not the GPU vendor or the driver. We're talking about the choice of what is supposed to be recommended by Windows when it detects a display resolution. Windows simply gets that resolution reported to it. Why would the GPU even be in play? It has its own scaling options.

Windows 10 is an improvement but its still not perfect, the OS even has trouble with the sizing of its own UI elements. Its essentially an oversight in the core design of the OS, it uses and/or allows fixed size elements in the UI and in applications everywhere, there are no design rules like you have them on for example IOS or Android. But it also needs to allow that or we'd lose all our legacy.
 
Last edited:
Joined
Jul 25, 2006
Messages
6,364 (1.29/day)
Location
Nebraska, USA
System Name Brightworks Systems BWS-6 E-IV
Processor Intel Core i5-6600 @ 3.9GHz
Motherboard Gigabyte GA-Z170-HD3 Rev 1.0
Cooling Quality case, 2 x Fractal Design 140mm fans, stock CPU HSF
Memory 16GB (2 x 8GB) DDR4 3000 Corsair Vengeance
Video Card(s) EVGA GEForce GTX 1050Ti 4Gb GDDR5
Storage Samsung 850 Pro 256GB SSD, Samsung 860 Evo 500GB SSD
Display(s) Samsung S24E650BW LED x 2
Case Fractal Design Define R4
Power Supply EVGA Supernova 550W G2 Gold
Mouse Microsoft Wireless 5000
Keyboard Microsoft Wireless Comfort 5050
Software W10 Pro 64-bit
Wh.... its an option Windows offers

Windows simply gets that resolution reported to it.

Why would the GPU even be in play?
Where do you think Windows learns which resolutions are supported? You said it yourself - that information is reported to Windows. If you don't install any graphics drivers, including EDID data for the specific monitors, Windows will use the Generic PnP Monitor drivers it has natively, right? And then it will display all the resolutions Windows supports. But as soon as you install the specific drivers, what happens? In the display settings, only the resolutions supported by the connected monitor are display (the others are grayed out or not even shown).

Windows (all operating systems) has to know how to communicate with the graphics solution natively. And the graphics solution has to know how to communicate with the OS and with all monitors at some basic/generic level. And, in turn, all monitors must know how to communicate at some basic/generic level. If they didn't, we could not see anything to install the OS from scratch. We could not see anything when entering the BIOS setup menu.

So when you install the graphics card drivers and EDID information, that information is reported to the OS.

If Windows scales improperly, it is because the graphics solution (or running program) failed to tell Windows how to display that image. So then the OS jumps in and (with a guess) will attempt to scale it properly. This puts the OS between a rock and hard place.

See: Display Scaling changes fro the Windows 10 Anniversay Update.
Why doesn’t Microsoft Just Fix Display Scaling on Windows?

This is a valid question that many of us have asked ourselves when joining teams that are working on this problem space. The main challenge that we face, however, is that many, many, applications that run on Windows are using a design pattern where they ask Windows for information about the system when they launch (questions such as how big the display is, what is the display scale factor, what is the size of the font that should be used for default text, as well as others) and then cache this information and never expect it to change. Because of this, even if Windows did start giving these applications information about a DPI change, most, if not all, of these applications wouldn’t even be asking and therefore would not respond correctly. Furthermore, if Windows did start providing dynamic display-scale-factor-related information this would be a nightmare for application compatibility and would probably cause more problems for application stability than it would help in terms of high DPI display issues.
 
Top