- Windows scaling issues for high-DPI devices
- Summary
- Resolution
- Workaround
- More Information
- References
- Fix: Disable Display Scaling on High DPI Devices in Windows 10
- Размытые шрифты в Windows 10
- Устраняем размытость шрифтов для конкретного приложения
- Уменьшение системных настроек DPI в Windows 10
- Возвращаем старый метод масштабирования в Windows 10
Windows scaling issues for high-DPI devices
Summary
When you use a high-DPI device such as a Surface Pro 3, Surface Pro 4, or Surface Book together with external monitors, you experience the following issues:
Elements such as applications, the taskbar, icons, toolbars, text, and dialog boxes appear to be fuzzy.
Elements are too large or too small compared to the rest of the desktop.
Blurry text appears in applications or in the Windows interface.
Although these symptoms may be seen on a single monitor, they’re more common when you use multiple monitors that vary in display resolution. These symptoms also occur when the hardware configuration changes, such as when you dock and undock a device that uses external monitors, or you detach an external monitor from the device.
These issues commonly occur in the following scenarios:
Applications are moved between monitors that use different display resolutions.
The monitor that applications are displayed on changes between docked and undocked configurations.
Users mix connections during the same logon session. For example, users log on through a remote desktop connection (RDC), and later connect directly without first logging off.
Display information is determined when a user logs on to the system. A logoff-logon process resets the display information and improves behavior. However, the issue recurs if the monitor configuration changes during the same logon session, such as when you dock or undock the device or detach an external monitor.
This issue has become more prevalent since the introduction of 4k and higher resolution monitors, especially when these monitors are mixed together with older, standard monitors.
For more information about how Windows scales applications, see the following Core Team Blog articles:
Resolution
To resolve this issue, use the following methods.
Check for software updates Improvements are continuously being added to Windows 10 and Office 2016 applications. If you are experiencing a specific issue, first check whether it has been resolved in the latest Windows release or cumulative update. To check Windows 10 updates, see the following Microsoft Knowledge Base article:
Match screen resolutions Consider deploying monitors that have complementary screen resolutions.
When you use multiple monitors (including when you dock or connect to remote screens), a greater difference in the resolution between the native device and external device is more likely to cause the issues to occur. For more information, see the following OneDrive presentation:
Use UWP applications Use or deploy Universal Windows Platform (UWP) applications instead of Win32 applications.
Modern (UWP) apps always scale correctly. If there is a comparable modern app available, you can substitute that app to mitigate the scaling issues. For example, Edge is a modern app that does not cause the DPI Scaling issues that Internet Explorer might experience. Similarly, Remote Desktop is an alternative to mstsc.exe.
Check for known issues See the following articles for more information about known issues in these specific products.
Note Office 2016 applications started being released starting in September 2016. Additional updates are scheduled to follow.
Internet Explorer
3165808 Internet Explorer 11 Window display changes between built-in device monitor and an external monitor
Workaround
To work around scaling issues, try the following methods:
Log out and in Log out and log back in to the system. This improves how applications and elements are displayed when the monitor configuration changes.
Adjust display settings Windows 10
Select Display > Change the size of text, apps, and other items, and then adjust the slider for each monitor.
Earlier Windows systems
Right-click the application, select Properties, select the Compatibility tab, and then select the Disable display scaling on high DPI settings check box.
Change application properties In Explorer or on the Start menu, right-click the application name, select Properties, select the Compatibility tab, and then select the Disable display scaling on high DPI settings check box.
Note: In Windows 10 Version 1703 and later version of Windows, the text of the Disable display scaling on high DPI settings option is changed to Override high DPI scaling behavior, scaling performed by: Application.
Check whether applications are DPI-aware To determine an application’s support of DPI Scaling, follow these steps:
In Process Explorer, click the columns, and then add the DPI Awareness column to the view.
Start the application that you want to check.
In Process Explorer, locate the application, and then examine the DPI Awareness column.
DPI Awareness status definitions
Per-Monitor Aware: Per-monitor DPI-aware. These applications check for the DPI when they are started, and adjusts the scale factor whenever the DPI value changes. These applications are not automatically scaled by the system.
System Aware: System DPI-aware. These applications do not scale for DPI changes. They query for the DPI one time, and then use that value for the lifetime of the application. If the DPI changes, the application does not adjust to the new DPI value. It will be automatically scaled up or down by the system when the DPI changes from the system value.
Unaware: DPI-unaware. These applications do not scale for DPI changes. They are always assumed to have a scale factor of 100 percent (96 DPI). These applications are automatically scaled by the system at any other DPI settings.
For more information, see the following MSDN topic:
Report an issue Many UI elements have been updated because of customer feedback. Because DPI Scaling issues can involve multiple symptoms and configuration, information from users can help us identify specific scenarios and prioritize the development of updates.
To provide such feedback, follow these steps:
Record monitor configurations. To do this, take a screenshot of Display window ( Start > Settings > System > Display).
For each monitor, note the make and model, scaling percentage, and resolution.
Record the steps that you must follow to reproduce the issue.
Take screenshots or video of the desktop or applications before and after the scaling issues occur.
Run DXDiag.exe on the system.
Select Start > Feedback Hub. Search on “DPI” to check whether any listed issue matches your specific issue. If you find a match, you can add additional feedback, including screen shots, DXDiag results, and any other relevant information.
More Information
Display scaling is a deceptively complex problem. There is no magic bullet or single fix to resolve all DPI Scaling problems. DPI Scaling benefits from continuous improvements in the core operating system, in application development models, and in applications from both Microsoft and third parties.
Different versions of Windows and application development models have different display scaling capabilities and limitations.
For example, in Windows that were released earlier than Windows 8.1, desktop environment and applications understand only one scale factor, generally based on the primary display at the time that the logon session starts. When the display changes in the middle of a logon session, the system bitmaps scale content from the system scale factor to the new monitor scale factor. This makes sure that content doesn’t become excessively large or small. However, text may appear blurred. (The effect is worse when you scale up.) If the system shrinks or stretches UI elements to the correct size, this may cause some blurriness in dialog boxes and other UI elements.
In Windows 10, investments were made so that large parts of the desktop UX will scale crisply in docking-undocking scenarios. Additional scalability improvements were made to the taskbar, File Explorer, desktop icons, context menu, and other UI elements to improve the user experience.
Microsoft is continuously updating the system and first-party applications. Third-party applications may require similar investments.
References
MSDN: Writing DPI-aware Win32 applications
Thurrott Blog: July 13, 2015 post that discusses DPI Scaling. Article is based on the «Devices» chapter of the Windows 10 Field Guide.
Windows Blog: July 15, 2013
Build 2015: Display Scaling: What it is and what you need to know about it to have great visuals
Build 2014: Windows Desktop Development Platform Advancements
Build 2013: Making your desktop apps shine on high-DPI displays
Fix: Disable Display Scaling on High DPI Devices in Windows 10
Windows 10 is not without its own unique set of kinks and quirks, and one of these kinks and quirks is the “display scaling on high DPI devices” “feature” that the latest and greatest version of Windows comes with. This feature, also referred to as “compatibility scaling mode”, replaces the “XP style display scaling” that was available in Windows 7 and causes any and all programs and applications that don’t specify their compatibility since the very beginning to appear extremely blurry. Text in such programs can be very hard to read, which is what makes this issue so pertinent.
Unfortunately, this “compatibility scaling mode” is turned on for all programs and applications by default. The only way that Microsoft has provided users with to turn this feature off is to disable it by right-clicking on the shortcut of any one of the programs in question, selecting Compatibility and turning display scaling on high DPI devices off, one program at a time. This can be quite a tedious task and there is absolutely no way a person can disable this feature for all programs on a Windows 10 computer, at least not a Microsoft-provided way.
However, that does not mean that disabling DPI awareness for all of your programs is impossible – all you need to do is instruct Windows to prefer external manifest files for programs when launching them and then create and place external manifest files for every program that you are facing this problem on. The following are the steps you need to complete in order to disable display scaling on high DPI in Windows 10 for all programs using this solution:
Press Windows Logo key + R to open a Run. Type in regedit and press Enter.
In the left pane of the Registry Editor, navigate to the following directory:
Click on SideBySide in the left pane to expand its contents in the right pane. Right-click on an empty space in the right pane, hover over New and click on DWORD (32-bit) value.
Name the file PreferExternalManifest and press Enter. Right-click the new DWORD value and click on Modify. Type 1 into the Value Data. Change the value’s Base to Decimal. Click on OK. Close the Registry Editor.
Copy the contents of typical manifest file from by clicking here and copying all of the text on the page.
Open a Notepad. Paste the text you copied from the link above this line into the Notepad
Save the Notepad document as the full name of the executable file of the program you are trying to disable display scaling on high DPI devices for, followed by the .manifest extension. For example, the name of a manifest file for Photoshop would be photoshop.exe.manifest.
Move the manifest file to the root directory of the program you are trying to turn display scaling on high DPI devices off for – this is the directory where the program’s files, including its executable file (such as photoshop.exe for Photoshop) are located. An example of such a root directory is:
C:\Program Files\Adobe
Create manifest files for all the programs you want to disable display scaling on high DPI devices for, and move them to their respective install directories. There is no need to restart your computer – the program you create and place a manifest file for should start displaying as it should as soon as you close and then reopen it.
Some people just might not fancy messing about with their computer’s registry, and if you are one of these people, you can use a program known as DPI Awareness Enabler that has been created by a Good Samaritan who was once affected by this very issue. Although it seems to be a much simpler and less riskier solution to the problem, some users have reported that it does not yield results that are as good as those yielded by the solution described above. Since that is the case, it is advised that you use the following solution at your own risk. To disable display scaling on high DPI devices for all programs on a Windows 10 computer using DPI Awareness Enabler, you need to:
Download DPI Awareness Enabler by clicking on DpiAwarenessEnabler 1.0.3.zip in the Licenses and download section of the website.
Install DPI Awareness Enabler.
Run DPI Awareness Enabler.
Drag every single program that is displaying blurry texts and images from the All detect programs list to the Windows compatibility list. Doing so will make each of the programs that you drag and drop DPI aware, turning the display scaling for high DPI devices feature off for each and every single one of them and ultimately getting rid of your problem.
Размытые шрифты в Windows 10
Многие пользователи при обновлении до Windows 10 столкнулись с проблемой размытости и нечеткости отображения шрифтов в системе и некоторых приложениях, крайне мешающее при работе с компьютером. Как правило, проблема наблюдается на устройствах, с высоким разрешением, превышающем 200 DPI. Дело в том, что еще начиная с Windows 8.1, Майкрософт изменила применяемую ранее схему масштабирования DPI. Проблемы могут наблюдаться при значениях DPI, больше 120, а также у приложений, у которых отсутствует DPI-Aware флаг. Эта же схема масштабирования применяется и в Windows 10.
В том случае, если вы не удовлетворены отображением масштабированных шрифтов, возможно вернуться к «классической» схеме масштабирования как для одного конкретного приложения, так для всей системы (сброс и восстановление шрифтов при этом не поможет).
Устраняем размытость шрифтов для конкретного приложения
Если проблема с размытыми шрифтами наблюдается в одном конкретном приложении, например, в браузере Mozilla Firefox, можно попробовать решить проблему с размытостью шрифтов индивидуально для этого приложения.
- Откройте свойства исполняемого файла приложения (в нашем примере firefox.exe)
- Перейдите на вкладку Compatibility (Совместимость)
- Включите опцию Disable display scaling on high DPI settings (Отключить масштабирование изображения при высоком разрешении экрана)
- Сохраните изменения и запустите приложение.
Проверьте, устранена ли проблема. Если не устранена, переходите к следующему этапу – уменьшению системных настроек DPI.
Уменьшение системных настроек DPI в Windows 10
На многих устройствах проблемы размытости и плохой читаемости шрифтов наблюдаются в системе при использовании масштабирования 125% или выше. В этом случае стоит попробовать уменьшить настройки масштабирования шрифтов (DPI) до 100%.
- Откройте современную панель управления настройками системы (Settings)
- Затем в разделе Display установите ползунок Change the size of text, apps and other items (Изменение размера текста, приложений и других элементов) в крайнее левое положение (должно быть значение 100%)
- Завершите сессию Windows и перезайдите в систему
Если и это не помогло – перейдите к следующему решению.
Возвращаем старый метод масштабирования в Windows 10
В Windows 10 и Windows 8.1 используется новая методика масштабирования отображаемых на дисплее шрифтов. Существует возможность вернуться к старому методу масштабирования, используемого в Windows 8 RTM и Windows 7. В большинстве случаев это поможет решить проблему размытости и некорректного отображения шрифтов.
- Создайте файл revert_classic_dpi.bat со следующим текстом: REG ADD «HKCU\Control Panel\Desktop» /v DpiScalingVer /t REG_DWORD /d 0x00001018 /f
REG ADD «HKCU\Control Panel\Desktop» /v Win8DpiScaling /t REG_DWORD /d 0x00000001 /f
REG ADD «HKCU\Control Panel\Desktop» /v LogPixels /t REG_DWORD /d 0x00000078 /f - Запустите файл revert_classic_dpi.bat с правами администратора.
- Перезагрузите Windows 10
- Проверьте, исправилась ли проблема с отображением шрифтов