• 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
7,305 (3.86/day)
System Name Bragging Rights
Processor Atom Z3735F 1.33GHz
Motherboard It has no markings but it's green
Cooling No, it's a 2.2W processor
Memory 2GB DDR3L-1333
Video Card(s) Gen7 Intel HD (4EU @ 311MHz)
Storage 32GB eMMC and 128GB Sandisk Extreme U3
Display(s) 10" IPS 1280x800 60Hz
Case Veddha T2
Audio Device(s) Apparently, yes
Power Supply Samsung 18W 5V fast-charger
Mouse MX Anywhere 2
Keyboard Logitech MX Keys (not Cherry MX at all)
VR HMD Samsung Oddyssey, not that I'd plug it into this though....
Software W10 21H1, barely
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
7,934 (3.15/day)
System Name Best AMD Computer
Processor AMD 7900X3D
Motherboard Asus X670E E Strix
Cooling In Win SR36
Memory GSKILL DDR5 32GB 5200 30
Video Card(s) Sapphire Pulse 7900XT (Watercooled)
Storage Corsair MP 700, Seagate 530 2Tb, Adata SX8200 2TBx2, Kingston 2 TBx2, Micron 8 TB, WD AN 1500
Display(s) GIGABYTE FV43U
Case Corsair 7000D Airflow
Audio Device(s) Corsair Void Pro, Logitch Z523 5.1
Power Supply Deepcool 1000M
Mouse Logitech g7 gaming mouse
Keyboard Logitech G510
Software Windows 11 Pro 64 Steam. GOG, Uplay, Origin
Benchmark Scores Firestrike: 46183 Time Spy: 25121
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,047 (0.98/day)
Location
Iberian Peninsula
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
12,146 (1.87/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 32GB (4 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 Logitech M190
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

Super Dainty Moderator
Staff member
Joined
Aug 16, 2005
Messages
25,887 (3.79/day)
Location
Alabama
System Name Rocinante
Processor I9 14900KS
Motherboard EVGA z690 Dark KINGPIN (modded BIOS)
Cooling EK-AIO Elite 360 D-RGB
Memory 64GB Gskill Trident Z5 DDR5 6000 @6400
Video Card(s) MSI SUPRIM Liquid X 4090
Storage 1x 500GB 980 Pro | 1x 1TB 980 Pro | 1x 8TB Corsair MP400
Display(s) Odyssey OLED G9 G95SC
Case Lian Li o11 Evo Dynamic White
Audio Device(s) Moondrop S8's on Schiit Hel 2e
Power Supply Bequiet! Power Pro 12 1500w
Mouse Lamzu Atlantis mini (White)
Keyboard Monsgeek M3 Lavender, Akko Crystal Blues
VR HMD Quest 3
Software Windows 11
Benchmark Scores I dont have time for that.
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
7,305 (3.86/day)
System Name Bragging Rights
Processor Atom Z3735F 1.33GHz
Motherboard It has no markings but it's green
Cooling No, it's a 2.2W processor
Memory 2GB DDR3L-1333
Video Card(s) Gen7 Intel HD (4EU @ 311MHz)
Storage 32GB eMMC and 128GB Sandisk Extreme U3
Display(s) 10" IPS 1280x800 60Hz
Case Veddha T2
Audio Device(s) Apparently, yes
Power Supply Samsung 18W 5V fast-charger
Mouse MX Anywhere 2
Keyboard Logitech MX Keys (not Cherry MX at all)
VR HMD Samsung Oddyssey, not that I'd plug it into this though....
Software W10 21H1, barely
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
2,840 (1.00/day)
Processor Ryzen 7800X3D
Motherboard ASRock X670E Taichi
Cooling Noctua NH-D15 Chromax
Memory 32GB DDR5 6000 CL30
Video Card(s) MSI RTX 4090 Trio
Storage Too much
Display(s) Acer Predator XB3 27" 240 Hz
Case Thermaltake Core X9
Audio Device(s) Topping DX5, DCA Aeon II
Power Supply Seasonic Prime Titanium 850w
Mouse G305
Keyboard Wooting HE60
VR HMD Valve Index
Software Win 10
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
7,305 (3.86/day)
System Name Bragging Rights
Processor Atom Z3735F 1.33GHz
Motherboard It has no markings but it's green
Cooling No, it's a 2.2W processor
Memory 2GB DDR3L-1333
Video Card(s) Gen7 Intel HD (4EU @ 311MHz)
Storage 32GB eMMC and 128GB Sandisk Extreme U3
Display(s) 10" IPS 1280x800 60Hz
Case Veddha T2
Audio Device(s) Apparently, yes
Power Supply Samsung 18W 5V fast-charger
Mouse MX Anywhere 2
Keyboard Logitech MX Keys (not Cherry MX at all)
VR HMD Samsung Oddyssey, not that I'd plug it into this though....
Software W10 21H1, barely
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,047 (0.98/day)
Location
Iberian Peninsula
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
20,944 (5.97/day)
Location
The Washing Machine
Processor i7 8700k 4.6Ghz @ 1.24V
Motherboard AsRock Fatal1ty K6 Z370
Cooling beQuiet! Dark Rock Pro 3
Memory 16GB Corsair Vengeance LPX 3200/C16
Video Card(s) ASRock RX7900XT Phantom Gaming
Storage Samsung 850 EVO 1TB + Samsung 830 256GB + Crucial BX100 250GB + Toshiba 1TB HDD
Display(s) Gigabyte G34QWC (3440x1440)
Case Fractal Design Define R5
Audio Device(s) Harman Kardon AVR137 + 2.1
Power Supply EVGA Supernova G2 750W
Mouse XTRFY M42
Keyboard Lenovo Thinkpad Trackpoint II
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
12,146 (1.87/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 32GB (4 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 Logitech M190
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