What's new

External monitors are a nightmare

macmee

Active Member
When plugging into my external monitor I noticed that many applications (Explorer, and Chrome specifically) are blurry.

I can fix Chrome by way of changing DPI settings in the registry, but why does Explorer look blurry on the external display, and crisp on the surface display?
 
Which Scaling Option are you using? Are you using the legacy % Radio Button or the Windows 8.1 Slider? I find using the Slider my text isn't blurry (if the legacy app still is blurry I disable Scaling on High DPI)...

Legacy:
Screen DPI Legacy.jpg

Windows 8.1:
Screen DPI Default.jpg
 
I have two external 30" monitors, both at 2560x1600, and since SP2 they are DP 1.2 daisy-chained; prior to SP2, one was DP and the other was via USB. Regardless, I have never had any blurry issues on my external monitors when "docking" my SP/SP2.
 
The others here have the right answer: use the slider.

However, there is another big variable to take into account: which monitor is the main one when you boot up (or log in)? Here is why: Windows 8.1 is better at scaling and DPIs, but is still a little bit stupid. With the slider, Windows understand that if you are using a 23in monitor, you probably want everything at 100%. But on the Surface screen, with the same resolution, you want everything bigger (most likely 150%). So the slider does this, it adjusts for different screen sizes and resolutions. That is awesome.

Except that it doesn't re-scale! It resizes. I know it sounds the same but it's not. Rescaling would mean to use vectors or other methods to make everything looks good. Resizing means Windows keeps the same scaling/dpi on both screens but resizes (i.e: stretches or compresses) the output. The scaling factor is set according to your main monitor when you boot or log in. So with my setup, I have the SP2 connected to a 23in full HD monitor that acts as the main one (when I'm at home). So the default scaling factor will be 100% and Windows will simply resize everything at 150% on the surface (you can see the process by dragging one window from the monitor to the surface, as you drag, you'll see the window be resized). It means that everything looks good on my monitor but things are blurry on the SP2 (just a little bit). Why? Because 150% (or 3:2) is a non-integer value not everything stretches fine. It's still working well in the sense that your icons are big enough and stuff, but it doesn't look sharp. And the scaling factor doesn't reset until you log out. So if I unplug my surface and leave, Windows still scales at 100% and resizes st 150% on the surface. In this case, I need to log out in order to reset things on the surface screen and make everything looks big AND sharp.

Reading your experience, my guess is that you boot up the surface and then connect it to your external monitor (or that this one isn't set as your main one when connected). In this case Windows sets the scaling at 150% (for your surface) but then resizes everything by 2:3 to get 100% on the monitor. So try to log out while the external monitor is connected.

But bottom line, there is no way to have everything with the right size AND looking sharp on both screens. Not unless you have maybe a super HD screen when everything should be blown up to 150% (like the guy who replied above me). You either need displays with the same scaling (since ultimately windows 8.1 only allows one scaling factor at the time) or displays that "match" so that the resizing is done using integer values.

Let me know if that made sense and helped.
 
Last edited:
Bryan, that was hugely helpful, insightful, and disheartening (though through no fault of your own). You mention that 150% is a non-integer value, which is part of the problem. Forgive my math here, but anything below 200% will equally be a non-integer value, correct? So even with the ability to customize the percentage there is no hope of correcting this problem barring a software update from Microsoft.

This is a bummer. I do have to ask: is there a technical obstacle to only scaling on the Surface Pro and not on the external monitor, or do you think that it simply an implementation decision by Microsoft at this point?
 
Probably not the issue with you but I've had this happen about 10-15 times and literally all I did was to unplug the HDMI cable and plug it back in again... hey presto! Back to being nice and sharp. Could be just a dodgy cable, but worth a look perhaps.
 
Follow what Jnjroach said. Be sure to sign out and back it, once you adjust DPI settings, else it will scale windows as an image, so thing will be blurry.
I have had 0 problem with external display, no mater the monitor I use. It's just a mater of setting up Windows correctly.
 
Bryan, that was hugely helpful, insightful, and disheartening (though through no fault of your own). You mention that 150% is a non-integer value, which is part of the problem. Forgive my math here, but anything below 200% will equally be a non-integer value, correct? So even with the ability to customize the percentage there is no hope of correcting this problem barring a software update from Microsoft.

This is a bummer. I do have to ask: is there a technical obstacle to only scaling on the Surface Pro and not on the external monitor, or do you think that it simply an implementation decision by Microsoft at this point?

I think Windows was never designed to scale anything, let alone on two monitors with two scaling factors. MS had to work really to make it work (as opposed to Mac OS X or Android where it was kind of built it).

And yes, anything below 2.0 is non-integer. There is a reason Apple always does scaling by multiplying by 2 (like when they introduced the retina display for instance). The only way I see here is to buy a more than full HD external monitor where you'd want to scale at 150% (same as the surface pro 2 screen, so everything is fine).
 
Correct. Apple can afford to say "To bad, all your old software no longer works", and its user base, don't mind much. And the limited software library, makes Apple job in trying to support these software to a new system much ease, and can work with all of them.

Microsoft, can't.
When Microsoft release Windows 2000, an OS that brought the NT kernel architecture to home PC, and no longer exclusive to enterprises, and dropping Win9x, it was a disaster. No game, no software, no drivers would work. It was so bad, that Microsoft had plan B which was Windows Me, release about the same time, which was a mash up of Windows 2000 and Win9x, and that didn't really work (which does makes sense, especially with the limited resources at the time). About a year later, Windows XP got released which was a leaner Windows 2000, and startup optimization, a skin to compete with MacOS X new look, which Microsoft was struggling to keep people trust in their OS, and included a no more technical based help document, but rather a simple one, a few tweaks and changes here and there, and Windows 9x compatibility which increase support, to kinda help... XP was big, heavy, and demanding at the time, but over time, was liked as software compatibility increased, drivers for it was released, and systems got faster.

That was back in 2001, where many people didn't have computers. The whole concept of high DPI in the early days of Windows was not thought about. No one expected super high resolutions in a small screen. And all GUI element was designed for low resolution screens. Small menus, small buttons, and everything we used today is based on that. XP was the first Windows with high-DPI scaling, and a large start menu, which was the beginning of tablet PCs, a partnership that Microsoft has done with manufacturess. Sadly, the start menu only caught on later with larger resolution displays, (mos where using the classic start menu), and upon this day, no software were even tested for high DPI settings. So in Windows 7, despite continuous improvement, the very great majority of programs appeared broken, and hard to use. So the scaling system of Windows 8 was made, and now we have different DPI per display.

WinRT (Windows 8 App Store apps) infrastructure is designed for high-DPI, and fully GPU rendered for the smoothest, fastest, and nice looking experience no mater the device of today. Sadly, changing the desktop GUI engine is not possible, without breaking a huge amount of software, and Windows users aren't willing to pass through that. Look how hard it was for XP to die. Look how Vista was hated, because beside it requires powerful system at the time (turned to be med-low end by the Win7 came out), many software store working due to the absolutely needed new security infrastructure. Changing the GUI engine for the desktop application would be a disaster that I think Microsoft won't take, especially due to the low PC sales, and are treating WinRT as it's replacement, one day, depending on how the market changes, and how Windows continues to evolve.

Ideally, Windows can make a new GUI infrastructure for desktop applications, but it would mean that software made for it, won't work with previous version of Windows.

Microsoft challenge is to continue to provide continuous support. I have a software, an image editing software that I have purchased back in 2000. The company that made it got bought, and disappeared. Still works today. I don't even need to run compatibility mode. If you check youtube, you can find people install Windows 1.0, and upgrade each version of Windows all the way up to Windows 8, and the Windows 1.0 game Reversi, still works!
Basically, programs that follows Microsoft documentation to the letter and have no dependencies, work no problem. That is an amazing feet.
[video=youtube;eY-UHdswFkg]http://www.youtube.com/watch?v=eY-UHdswFkg[/video]
 
Back
Top