Originally Posted by tompsonn
They will be enabled under what's called DPI virtualization where Windows will apply artificial scaling. This means that yes, their program elements will appear blurry, and it is possible that UI elements will not correctly fit and things can look a little messy. Unfortunately this comes from the many applications that are too lazy to implement proper scaling in their user interfaces, and comes as a side effect of Windows applications using bitmaps for UI.
An application is able to tell Windows that it is DPI aware - this means that things will scale properly (Window sizes, fonts) but the application is responsible for providing proper sized elements for things that the system cannot automatically correct (bitmaps).
This is only the case for Win32 applications (and by extension WinForms applications running atop the .NET framework) which use GDI+ for rendering. DirectX is a tad different.
So a non-DPI aware application always render at 96 DPI even when the DPI is set higher. The application always thinks it is running at 96 DPI, but the Desktop Window Manager automatically scales the applications to account for the high DPI (this is called DPI virtualization). Because it is quite a compatibility fix, the result is a tad unpleasing and is indeed blurry. All this does it prevent readability issues because the text and UI elements are too small. The type of scaling that DPI virtualization uses when scaling up in size is based on pixel stretching. While this enables applications to be appropriately sized, blurriness occurs due to the stretched pixels. The type of scaling that DPI virtualization uses when scaling down in size is based on pixel sampling. While this enables applications to be appropriately sized, some wash-out or loss of information occurs due to the sampling of pixels.Virtualization is not able to solve all application issues due to the differences in application behavior throughout the entire ecosystem.
Windows 8.1 now introduces per-monitor DPI, but you may disable it if necessary in the control panel. There is a lot of work an application must perform to make itself work correctly with high DPI - they include listening for DPI changes, providing DPI aware sized bitmaps, using system APIs to calculate sizes, positions and various other metrics (rather than hard coding assuming 96 DPI), and now in Windows 8.1 with per-monitor DPI, applications have to do some work to support this, however if they already support system wide high-DPI the task is not complex.