Прокрутить к контенту ↓


HiDPI-новшества Windows 10

По сравнению с предыдущими версиями Windows (в том числе Windows 7, до сих пор используемой почти на половине компьютеров), в Windows 10 реализован ряд качественных улучшений в масштабировании интерфейса устаревших программ, несовместимых с экранными режимами с повышенной плотностью точек (HiDPI, High-DPI), часто используемыми совместно с 4K-мониторами:

  • маштабирование устаревших программ без размытия при целочисленных масштабах;
  • переопределение DPI-режима программы в произвольном направлении;
  • качественное масштабирование текста, выводимого средствами GDI;
  • разработчикам: возможность сочетать разные DPI-режимы в одной программе.

Масштабирование без размытия

Интерфейс несовместимых с HiDPI программ при целочисленных значениях системного масштаба теперь масштабируется простым повторением пикселов — без неоправданного размытия. Например, при масштабе 200% один логический пиксел (точка) интерфейса программы выводится как группа из 4-х (2×2) одинаковых пикселов, соответствующих системному разрешению, а при масштабе 300% — 9-ти пикселов (3×3).

Размытие, ранее имевшее место вне зависимости от коэффициента масштабирования, теперь проявляется только при дробных масштабах — например, 150% (1,5x) и 250% (2,5x), когда интерполяция (вычисление промежуточных значений) и сопутствующая потеря резкости действительно неизбежны.

Переопределение DPI-режима программы

Начиная с одной из предварительных сборок (предположительно 15002) Windows 10 Insider Preview появилась возможность переопределить HiDPI-совместимость (DPI awareness) программы в произвольном направлении.

Ранее можно было лишь отключить DPI-виртуализацию (DPI scaling, масштабирование средствами ОС) для программ, формально не поддерживающих HiDPI, а на самом деле вполне корректно функционирующих в HiDPI-режиме.

Теперь же при необходимости можно принудительно включить DPI-виртуализацию для программ, заявляющих о наличии поддержки HiDPI, но в действительности никаких действий по масштабированию интерфейса программы не пред­принимающих, де-факто привязанных к системным пикселам и потому по умолчанию отрисовываемых очень мелко (например, при масштабе 200% — в 4 раза меньше, чем необходимо) либо некорректно. Примеры таких программ — Samsung Magician, панель управления звуковой карты ESI Juli@ и Acronis True Image Home 2011.

Качественное масштабирование текста

Начиная с вышедшей в начале 2017 года сборки 15002 предварительной версии Windows 10 Insider Preview доступен новый режим “System (Enhanced)” масштабирования средствами ОС, при котором текст в элементах, отрисовываемых средствами программного механизма GDI, выводится в полном системном разрешении, без размытия или пикселизации.

Параметр “System (Enhanced)” доступен в выпадающем списке параметра «Override high DPI scaling behavior. Scaling performed by» на вкладке «Совместимость» в свойствах исполняемого файла.

Например, программа HWMonitor в этом режиме выглядит и работает практически так, как если бы действительно поддерживала HiDPI, и, в отличие от принудительного включения HiDPI-режима, при этом не проявляется проблема с установкой слишком малой ширины столбцов информационной таблицы, составляющей значительную часть интерфейса программы.

Разные DPI-режимы для окон одной программы

Начиная с обновления Windows 10 Anniversary Update, вышедшего летом 2016 года, разработчикам приложений стала доступна возможность управления DPI-режимом на уровне отдельных окон в рамках одной и той же программы (Mixed Mode DPI Scaling).

Благодаря этому появляется возможность внедрять поддержку HiDPI в существующие сложные программные продукты постепенно, без необходимости адаптировать сразу всю программу.

Полноэкранное масштабирование без размытия?

Для полного счастья владельцам 4K-мониторов теперь, пожалуй, не хватает лишь полноэкранного масштабирования без размытия средствами видеодрайвера для исключения потерь качества изображения в таких приложениях, как игры, при их работе в разрешениях, в целое число раз меньших, чем физическое разрешение монитора (например, 1920×1080 или 1280×720 при физическом разрешении 3840×2160).

Microsoft свои ошибки осознала и эффективно исправила, ждём аналогичных шагов со стороны nVidia и AMD.