SSMS is Starting to Look Better...
Since my first Retina MacBook Pro, I've been spoiled by high DPI screens, so much so that when I have to do work on a "normal" screen I cringe. But many apps haven't caught up - they still scale fonts and dialogs the "old" way, and it is far from pretty. Throughout this post I'm going to show various screen shots that show the progress made by SSMS along the way, simply by showing Object Explorer and the Help > About dialog. Depending on how large these images show up on your screen, and the quality of your monitor, you may not notice much difference between these screen shots, but I sure do.
At first I used Gianluca's solution ("SSMS in High-DPI Displays: How to Stop the Madness"), but it wasn't perfect - fonts in some places were really blurry, and some dialogs were totally unusable. He has several examples in his post if you're curious. But I have several too.
This is the previous version of SSMS (13.0.15600.2), out of the box, which now foregoes any type of DPI scaling at all, using the old-fashioned jaggy type we've been suffering for decades (except check out the smooth text on the About dialog title bar!).
However, you can get crisper fonts (and many unusable dialogs) by using the DPI compatibility option on the properties of the shortcut ("Disable display scaling on high DPI settings"):
This leads to nice crisp fonts in several parts of the UI, but many dialogs are completely confused and useless:
The next three screen shots are the latest build of SSMS, 16.3. The first shows the look and feel out of the box:
Then with the same compatibility checkbox used above:
And finally with the manifest file as described in "SSMS 16.3 Release: Initial high-resolution monitor support."
The latter is by far my favorite so far. But I understand it might be hard for you to look at three scaled-down screen shots and notice any tangible differences, so I overlaid portions onto a single, "actual size" graphic. Right-click the image below and choose Open Image in a New Tab to see the differences, some of which are not so subtle, especially when you're using a quality screen (pay attention to things like the New Query button and Object Explorer text).
The SSMS team talks in their post about the beta support they've provided so far, and once you start digging into the dialogs, you'll see how much investment the team has already made in solving some of the problems Gianluca reported. As a quick example, on the left is how the New Server Registration dialog looked for me back in May, and on the right is how it looks now with the new manifest in place:
But it's not quite perfect yet, hence the beta disclaimer (also, see GIanluca's new post, "SSMS is now High-DPI ready"). For example, in many places icons are either not scaled correctly, or haven't yet been replaced with higher resolution versions. Take execution plans, for example, where they may as well not even have the icons present at all:
Unlike, I don't know, other folks. :-)
Our plan diagrams look really nice under HiDPI, but I will be the first to admit that - like the SSMS team - we have a ways to go before we'll be comfortable with our 4K support. In the meantime, it is possible to use the same manifest file approach as above for our tools - try it out and let me know what you think!
Aaron (@AaronBertrand) is a Product Manager at SentryOne, with industry experience dating back to Classic ASP and SQL Server 6.5. He is editor-in-chief of the performance-related blog, SQLPerformance.com, and serves as a community moderator for the Database Administrators Stack Exchange. Aaron's blog focuses on T-SQL bad habits and best practices, as well as coverage of updates and new features in Plan Explorer, SentryOne, and SQL Server.