Улучшения масштабирования DPI в Windows 10
Как и в более ранней версии Windows, Обновление создателей также содержит множество новых функций и улучшений, а не только заголовки. Среди многих реализованы улучшения (DPI) масштабирования с высокими точками на дюйм. Наблюдалось, что настольные приложения могут выглядеть размытыми или иметь неправильный размер, если они настроены для работы на дисплее с высоким DPI или при использовании дисплеев с высоким DPI в сочетании со дисплеем со стандартным DPI. Это особенно заметно при использовании технологий удаленного взаимодействия, таких как протокол удаленного рабочего стола (RDP). Улучшения с высоким DPI в обновлении Creators предназначены для решения этих проблем.
Улучшения масштабирования DPI в Windows 10
Немногие из внутренних улучшений, таких как улучшения с высоким DPI в Creators Update, делятся на две категории:
- Улучшения для разработчиков настольных приложений
- Улучшения для конечных пользователей
Первое изменение связано с введением новой возможности автоматического масштабирования DPI для каждого монитора для каркасов пользовательского интерфейса рабочего стола. Это делается путем добавления нового добавленного нового контекста осведомленности (DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2), который мы называем версией 2 для каждого монитора (PMv2)
PMv2 технически является DPI_AWARENESS_CONTEXT. Он специально разработан для предоставления функций масштабирования для каждого монитора, которые отсутствовали в первоначальной реализации осведомленности для каждого монитора. Этот контекст включает следующее:
- Уведомления об изменении DPI дочернего окна
- Масштабирование не клиентской области
- Автоматическое масштабирование DPI для диалогов
- Детальное управление масштабированием диалогов
Усовершенствования для конечных пользователей направлены на то, чтобы улучшить вашу жизнь как пользователя Windows, когда дело доходит до использования Windows в средах со смешанным DPI. Некоторые из улучшений, которые являются частью Обновления Создателей, включают:
Переопределение масштабирования DPI
В некоторых случаях вам может потребоваться запускать настольные приложения, которые плохо отображаются на экране с высоким разрешением. В таких случаях может потребоваться принудительно запустить приложение как процесс, не поддерживающий DPI. Это приведет к тому, что приложение будет размытым. Таким образом, несмотря на размытость, действие сделает непригодным для использования приложение пригодным для использования. Вы можете включить эту функцию в свойствах .exe:
Системное (улучшенное) масштабирование DPI
Есть приложения, которые сопротивляются изменениям в масштабировании DPI. Microsoft хочет сделать это гладким делом. Таким образом, он ищет способы, с помощью которых Windows может автоматически выполнять масштабирование DPI.
В обновлении Creators появилась новая функциональность, которая четко отображает текстовые результаты на дисплее с высоким разрешением только для приложений на основе GDI. Таким образом, для приложений, основанных на GDI, Windows теперь может масштабировать их по DPI для каждого монитора. Это означает, что эти приложения будут автоматически настраиваться для поддержки DPI для каждого монитора.
Microsoft включила масштабирование GDI по умолчанию для некоторых встроенных приложений. Например, консоль управления Microsoft (mmc.exe) в обновлении создателей. Это означает, что многие встроенные оснастки Windows, такие как Диспетчер устройств, получат преимущества от этой функции в Обновлении создателей.
Другие приложения, которые получат выгоду от этой возможности, включают,
Internet Explorer
До обновления Создателей, когда вы пытались переместить Internet Explorer на дисплей с другим DPI или иным образом изменили DPI дисплея, на котором он находился (закрепление/отмена/изменение настроек/RDP/и т. Д.), Содержимое веб-страницы просматривали бы масштаб DPI, но фрейм приложения — нет. Это было преодолено в Windows 10 Creators Update. Так что теперь, когда вы запускаете Internet Explorer и Edge рядом на вторичном дисплее со 100% масштабированием дисплея, основной дисплей будет использовать масштабный коэффициент с высоким DPI, а окна приложения будут перемещены на вторичный дисплей с низким DPI ,
На снимке экрана ниже вы можете заметить, что пользовательский интерфейс Edge уменьшен, но кадр Internet Explorer по-прежнему отображается с коэффициентом масштабирования основного дисплея.
В обновлении Creators это выглядит так:
DPI-масштабирование дочернего окна
Масштабирование DPI в смешанном режиме, появившееся в Windows 10 Anniversary Update, позволило пользователям иметь различные режимы масштабирования DPI в каждом окне верхнего уровня в приложении. Однако в масштабировании отсутствовала поддержка масштабирования DPI для дочерних окон. Эта схема, к сожалению, остается неизменной в Windows 10 Creators Update, т.е.В Windows 10 Creators Update отсутствует поддержка масштабирования DPI для дочерних окон
Иконки рабочего стола
Основным раздражителем при работе дисплея в режиме «Расширение» была невозможность совмещения значков рабочего стола или масштаба DPI с несколькими дисплеями, содержащими разные значения масштабирования DPI/дисплея. Обновление ОС в форме Creators Update решает эту очень неприятную проблему.
Вот что вы увидите перед обновлением Creators:
Документация для разработчиков с высоким разрешением
Документация с высоким разрешением, которая была доступна на MSDN до сих пор, стала неактуальной и теперь ушла в прошлое. Зачем? Руководства по написанию приложений с поддержкой DPI для каждого монитора были написаны с учетом периода Windows 8.1. С тех пор многое изменилось и сильно изменилось. Многие уязвимости DPI API Windows не были тщательно задокументированы. Все это требовало тщательной очистки и сборки вещей с нуля. С выходом Windows 10 Creators Update вы можете ожидать, что эти изменения вступят в силу.
Для получения дополнительной информации см. Блог Windows.
Размытые шрифты в 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
- Проверьте, исправилась ли проблема с отображением шрифтов
Поддержка определения DPI в Windows 10: как посмотреть, какие проги как отображаются
С выходом Windows 10 May 2019 Update у Диспетчера задач Windows 10 официально появилась еще одна дополнительная колонка. Называется она «Поддержка определения DPI».
То есть диспетчер теперь показывает, какие из установленных на компе приложений поддерживают определение DPI. Что это и зачем?
Ну, для начала напомним, что параметр «dots per inch» или сокращенно DPI обозначает количество (плотность) пикселей на физической единице площади панели экрана.
Стандартно компьютерные мониторы оснащались панелями, у которых на физический дюйм площади приходилось 96 пикселей. Но по мере развития технологий у производителей появилась возможность увеличивать плотность пикселей на дюйм, в итоге сейчас в рознице можно сравнительно недорого купить мониторы с панелями на 200 DPI и даже больше.
Однако тут же пришлось бороться с одной проблемкой. Дело в том, что при более высоком значении DPI картинка на экране монитора в целом получается более четкой, но и масштабировать её приходится по-новому, иначе все визуальные элементы и тексты становятся очень маленькими и читать/юзать их гораздо сложнее.
Проблему эту разработчики софта, само собой, начали решать. Поэтому все новые приложения Windows 10 из Microsoft Store умеют автоматом подстраиваться под значение DPI монитора.
А вот со старыми — все не так просто. И до сих пор есть уйма полезных прог, которые изначально разрабатывались под стандарты Win32, самомасштабироваться не обучены и на современных мониторах с высоким DPI отображаются либо с размытыми текстами, либо с кривыми иконками и боксами, либо… в общем, плохо отображаются.
Поэтому чтобы пользователям Windows 10 проще было выявлять те приложения, у которых могут быть проблемы с масштабированием, в Microsoft придумали показывать такие проги в Диспетчере задач системы. Фича эта (в оригинале называется она DPI Awareness) тестировалась еще с прошлого года, а с майским обновлением теперь в Windows 10 (v.1903) присутствует официально, как мы уже сказали, в виде отдельной колонки «Поддержка определения DPI» в окне Диспетчера.
как посмотреть, какие из приложений на компе поддерживают определение DPI
- открываем Диспетчер задач (Ctrl + Shift + Esc с клавиатуры, либо Win+R -> taskmgr -> ОК);
- в окне Диспетчера переходим во вкладку «Подробности«;
- правой кнопкой мыши кликаем по заголовкам колонок в таблице ниже;
- в меню жмем «Выбрать столбцы«;
- в списке выбираем «Поддержка определения DPI«;
- жмем ОК.
Собственно, на этом можно было и закончить. Однако, наверняка, не лишним будет вкратце описать и те значения, которые отображаются в столбце «Поддержка определения DPI«. Ибо их несколько, для разных приложений — разные режимы. А именно:
- Неизвестно/Недоступно (Unaware) — без поддержки определения DPI — приложение всегда отображается как для дисплея со значением 96 точек на дюйм и автоматически растягивается до нужного размера на основном и дополнительном мониторах, в результате чего будет выглядеть размытым (режим доступен во всех версиях Windows).
- Система (System) — приложение определяет разрешение основного подключенного монитора при входе в Windows, но не реагирует на изменение разрешения, и если оно перемещается на другой монитор или изменяется масштаб, то Windows 10 растягивает интерфейс, и в результате приложение выглядит размытым (режим доступен во всех версиях Windows, начиная с Vista).
- На один монитор (Per-Monitor V1) — при изменении разрешения приложение может автоматически и корректно менять свое отображение (при изменении разрешения Windows отправляет уведомления о разрешении для окон верхнего уровня в приложении, чтобы оно могло изменить отображение, режим доступен в Windows 8.1 и последующих версиях Windows).
- На один монитор (версия 2) (Per-Monitor V2) — при изменении разрешения приложение автоматически и корректно меняет свое отображение, плюс об изменении разрешения уведомляются также HWND дочерних окон, растровые изображения темы, диалоговые окна и пр. (режим доступен в Windows 10, начиная с Windows 10 Creators Update, и в настоящее время является рекомендованным для разработчиков приложений).