Pixel sizes have been roughly constant for a long time, but LCD manufacturers are increasingly coming out with monitors with smaller and smaller pixels, also known as high dots per inch (DPI). If an application uses the same number of pixels on a high DPI screen as it does on a standard 96-DPI screen, the application will look very small. Windows Vista and Windows Server 2008 introduce the ability to scale applications that were written for 96-DPI screens, which they do by rendering the application's bitmap at a larger size. Like all bitmap scaling, this rendering can result in some blurriness, but otherwise gives a correctly sized and properly rendered image. Applications can also decide to support high DPI natively, which will give the crispest possible look. Currently an application can turn off scaling and declare itself DPI-aware by calling SetProcessDPIAware. A manifest-based way to make this declaration is under investigation. For more information about writing applications that natively support high DPI, see How to Write High-DPI Applications.
The rest of this section talks about potential problems with non-DPI aware applications. Applications ask Windows questions such as "how many pixels wide is a scrollbar", so when a 96-DPI application asks, Windows Vista and Windows Server 2008 give the application the 96 DPI answer. There are, however cases where Windows does not provide an answer based on the application, usually because Windows Vista and Windows Server 2008 do not yet have enough information (please give us this feedback), and sometimes because the "right" answer depends on what the application is trying to do with the answer. (Screen coordinates often raise this problem.)
Most compatibility problems come from these imperfect conditions. Things to look for when testing:
Text is clipped (partially hidden).
Text is too big.
Something is drawn at the wrong size or in the wrong place.
How to Write High-DPI Applications https://msdn.microsoft.com/en-us/library/ms969894.aspx