Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
My Experience with the Surface Pro 2 as a Software Developer (messymind.net)
19 points by bicubic on Nov 25, 2013 | hide | past | favorite | 11 comments


The silver lining: As more of these kinds of DPI scaling issues crop up, hopefully developers will starting taking accessibility seriously, in order to make their applications usable for people with visual (and other) impairments.


I absolutely agree with you and look forward to 4k displays becoming mainstream and forcing developers to support high dpi.

I think its inexcusable that a bare bones winforms application doesn't scale correctly, and that I'd never know about this issue without a high dpi device. This is one place where Microsoft has total control and they should be ensuring that everything built with visual studio works on their devices out of the box. Hopefully VS2013 will address this.


I think it's very unlikely that WinForms, a GDI+ wrapper, is going to get a major, incompatible, rendering change in a minor point release of the .NET Framework. GDI uses actual pixels as measurements, so being DPI aware is much more painful. Seeing as GDI is not the future, it's unlikely this will ever change.

It's probably not even theoretically possible to fix it, without having a list of programs and their DPI behaviour, then keep that list updated somehow and patch programs' rendering. Or MS would need to add another flag like "no, I'm really DPI aware, promise!" for new programs to opt-in, then continue to scale older programs.

WPF, DirectWrite, WinRT - apps based on those APIs should have far less problems with scaling.


Microsoft has addressed it since WinForms 1.0, except that it's unfortunately not automatic. You need to include a simple application manifest that enables the dpiAware flag, as described here: http://msdn.microsoft.com/en-us/library/dd464660%28v=VS.85%2...

That article stops short of Windows 8.1 which provides new multi-monitor options. Here's the latest manifest overview: http://blogs.msdn.com/b/chuckw/archive/2013/09/10/manifest-m...


Further clarification: The manifest is the same you'd use for native applications. Microsoft automatically enables DPI awareness for WPF because that framework scales all coordinates automatically with DPI settings. WinForms doesn't do that. It requires extra code for proper DPI scaling, hence you need to manually apply the manifest if you have done that extra work. (Auto-generated Visual Studio projects might automatically provide both the necessary rigging and manifest, not sure.)


Windows should at least implement 200% scaling (like retina on the Mac) where apps are useable/look OK, even if they don't support scaling at all.


Windows has offered 200% scaling since Windows 7, and made the option more obvious with a new radio button in Windows 8.1.


Yes there may be a button but it still renders most apps "blurry".


So does the 2x scaling of Mac OS-X with any app that isn't retina-enabled...


Hmm, I've tried the Surface Pro 2 (HDPI display) in a multi-monitor setup along with a standard display which is not HDPI. I didn't have any issues with it. Microsoft apparently did quite a bit of work in this area for Windows 8.1: http://blogs.windows.com/windows/b/extremewindows/archive/20...

Also, I very much have to agree with you on the touchpad. While the Type Cover 2 keyboard is fairly good in my opinion, the touchpad is horrendous. It is too small. There's too much friction (it feels like a microfiber cloth rather than being smooth as glass). The left/right click buttons have no tactile feedback when you click, not to mention it's hard to tell where they are located.


You lost me at "Surface."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: