HiDPI on Windows 10: Post 2 – it’s about snark now, more than tech

Post 1’s tip about the Compatibility change was brought to you by my coworker Dave.

Dave also has developed some dissatisfaction for the poor support of HiDPI on Windows 10.

His experience today was taking his laptop to a meeting, using the Sticky-Note app to make some notes.
Upon returning to his desk and docking his laptop, the note on his Dell U2415 AwesomeDisplay(tm) was about 4″ by 5″, occupying much of one side of the screen.

Words were used that I can’t repeat here. His later observance is that in 2018 we’re supposed to have flying cars and jetpacks. But we can’t have nice things because people are apparently eating tide pods and windows can’t support external displays properly.

This post from 2015 ( https://windowsreport.com/fix-hidpi-issues-windows-10/ ) is going to be 3 years old in a matter of months. Yet it’s still relevant because Microsoft hasn’t resolved the root issues: Windows HiDPI support is crap. Microsoft is quick to say “we’re working on it” with blog posts like this almost-year-old gem: https://blogs.windows.com/buildingapps/2017/04/04/high-dpi-scaling-improvements-desktop-applications-windows-10-creators-update/
Yet, still broken.  A month later, Microsoft seems to be “reinventing the wheel” working on scaling in this post’s content: https://blogs.windows.com/buildingapps/2017/05/19/improving-high-dpi-experience-gdi-based-desktop-apps/#lymoRLe77P5RfPpz.97 and guess what? Still BROKEN.

I tell ya, I use the SAME exact monitor layout in that last blog post. One laptop with Super Hi Rez and two decent monitors that are 1080p or slightly better. Using this configuration with my MacBook Pro, there’s not even a subtle hint at issues, drama, angst, blur or distortion. It doesn’t make you want to kill yourself. Sleep the MBP and substitute a Win10 laptop and HOLY CROW I MUST BE CRYING BLOOORD

And that’s how it looks. And Dave’s right. That’s why we can’t have nice things.

 

More on this later. I’m still actually looking for improvements to this technically morose situation. Google is either failing me or it “really is that bad”.

HiDPI on Windows 10: Post 1 – my eyes are bleeding

So, new Windows 10 laptops at work.

My history as a Windows 10 user:

I’ve used Windows 10 for a while now, I have an older Core i5 at home that I use in the Ham Radio shack for some applications that are PC-Only (AGW-PE and the like) and use some VMs for programming radios that have windows-only programmers.

I don’t have “awesome” LCD displays at home, so my DVI-driven 23″ LCD (not a 16:9 widescreen, just a nice simple 1280×1024 display) works well.
As a VM Win10 user, VirtualBox has done a great job delivering an integrated display onto my Mac (primary), Linux and Windows Virtualbox hosts.

The Mac has “Retina” display (trademarked HiDPI) and as a Mac user I can tell you this technology is refined enough that I rarely notice it. The only thing I noticed about having a HiDPI MAC is that when I take screenshots on the mac and then view them elsewhere they are “friggin’ HUGE” because really they’re twice the resolution a normal display would generate. Definitely not an issue with most respects.

Enter me, coming from this blissful MAC realm, into a realm with a Lenovo ThinkPad, Core i7, pretty “nice by current standards” PC laptop running Windows 10 enterprise.
The native display is a 3840 x 2160 display and when it’s the only active display in Win10, is sharp yet almost unreadable even by my keen eyes at 100% (no scaling). To make things usable, the default 250% is nice, and I can even happily function at 200% scaling.

So, no worries, right? after all, the MAC did the same thing – has a NICE retina display at 2880 x 1800 and I generally run it scaled so I don’t have to get too close. Nice and sharp. Connect a few external displays and I have a triple-head workstation that is sharp, beautiful and readable. On all three displays. Seamless moving of apps/windows from one to another.

This is what I expected with Windows 10.

Oh, my, how my eyes now bleed.

The external displays I use at work are *NICE* Dell U2415 displays. Not “HiDPI” but really “nice” monitors. They’ve worked GREAT with my mac and assorted other laptops.

Enter this StinkPad. I connect them, and notice that “all text everywhere” looks like complete crap. Doesn’t seem to matter how I set aliasing/anti-aliasing, everything just looks “janky”.

In fact, the only way I can get things to look somewhat-OK is to disable the built-in display, and reboot. And then “things aren’t too bad” unless I need to actually take my laptops somewhere and disconnect, then return and reconnect the displays. If I don’t reboot, things just look trashy.

I attribute this to Windows 10 needing to “make use of” the built-on HiDPI display and enabling scaling. Once it starts down that path, visual tolerance exits.

And with the internal display enabled? Dragging a window (even notepad) from the native display to the external results in a “Balooned” 2x-huge version of the window on the external monitor until you “drop” the window by releasing the mouse — now tell me Microsoft, how did Mac get around this, and not you guys? Can you not handle on-the-fly scaling of windows from one display to another? Mac seems to have figured it out. All of the fancy graphics adapters in the world won’t help you if you don’t bother to try to handle things correctly at the OS level. You’re called “Windows” for pete’s sake. This is an issue dragging a window from one display to another. Could you get this right? No?  Hm.

It’s no wonder there’s a subreddit called “were HiDPI displays kept secret from Microsoft?”

So since two weeks ago when my eyes started bleeding from 8am to 5pm, I’ve come across a couple tips I want to share so that your eyes might not bleed as Windows 10 users who have “nice displays that are not HiDPI” if your native display is.

Tip 1: SOME (not all) applications can be fixed by tweaking the “Compatibility” settings:

1: right-click your app shortcut and take note of the application path and executable.
2: Next, Example for PuTTY: “C:\Program Files\PuTTY\putty.exe”
3: Browse to that location, right click on putty.exe and click Properties.
4: Click on the “Compatibility” tab, check “Override high DPI scaling behavior” and select “System” from the dropdown.

Voila. Next time you launch PuTTY it won’t look like garbage on your NiceDisplay™

NOTE: not all programs have a “Compatibility” tab. (Sorry, Outlook.exe users!) so you won’t be able to undo the damage that Windows 10’s damaged HiDPI scaling will do to native Microsoft applications. Noted that you also can’t do this for Word, Excel, PowerPoint, or IE or Edge. Chrome? yep. Firefox? yep.

Fun Fact: I’ve noticed that the speed of Putty, SmartConsole, and NotePad++ have also all improved since I’ve overridden the HiDPI scaling in Windows 10.

(Don’t ask me how in 2017 with a Core i7 that you can notice a speed difference in “Notepad ++” but try it yourself before you call me a liar.)