Как изменить плотность пикселей на мониторе

Windows, начиная с Vista, предоставляет два механизма для адаптации приложений к мониторам с высокой плотностью пикселей (точек на дюйм, DPI): увеличенные систем...

Время прочтения
11 мин

Просмотры 117K

Windows, начиная с Vista, предоставляет два механизма для адаптации приложений к мониторам с высокой плотностью пикселей (точек на дюйм, DPI): увеличенные системные шрифты и полномасштабное увеличение окон. К сожалению, попытка заставить некоторые ваши приложения работать в каком либо из режимов может оказаться безуспешной, благодаря сочетанию нерадивых разработчиков и плохих решений принятых Microsoft.

Эта страница предназначена для того, чтобы помочь пользователям понять и исправить, возможные проблемы при настройке высоких значений DPI. Пожалуйста, обратите внимание что мы рассмотрим только традиционные приложения Windows, не Windows Store («Metro», «Modern UI») приложения. Последние используют новый API WinRT, который обеспечивает собственный механизм масштабирования.

  1. От переводчика
  2. Методы масштабирования
    • Масштабирование в стиле Windows XP
    • Масштабирование в стиле Windows Vista или DPI виртуализация
  3. Как изменить установки DPI
    • Изменения в Windows 8.1, или почему все размыто?
    • Помогите, мои системные шрифты не правильного размера!
  4. Типы приложений, как они масштабируются (или не масштабируются)
    • Выбор метода масштабирования для ваших приложений
    • Отказ от DPI виртуализации для отдельных приложений
  5. Дальнейшее чтение для разработчиков (без перевода)

От переводчика

В этой статье применяются следующие сокращения которые я счел переводить не целесообразно: Графический Интерфейс Пользователя (GUI), Точек На Дюйм (DPI), DPI-Aware приложения – приложения которые умеют при различных значениях DPI правильно, без искажений отображать свой GUI, Графический Интерфейс Устройства (GDI). Мои комментарии (выделены курсивом).

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

Традиционно родные приложения Windows для рабочего стола используют два механизма вывода на экран:

  • Функции Графического Интерфейса Устройства (GDI) для доступа к дисплею. Как правило, GDI координаты измеряются непосредственно в пикселях экрана независимо от размера монитора и плотности пикселей.
  • И вывод текста используя системные шрифты Windows. Это не является обязательным, но большинство приложений использует системные шрифты для большей части их графического интерфейса пользователя (GUI).

Изначально большинство мониторов было с плотностью пикселей около 96 точек на дюйм. Так что GUI, использующий эту особенность, выглядел примерно одинаково на любой системе. Но, как только плотность пикселей увеличивается, элементы GUI таких приложений уменьшаются в пересчете на сантиметры или дюймы(реальные, которые измеряются с помощью линейки приложенной к монитору). Мелкий текст и другие мелкие детали становиться все труднее разглядеть.

Чтобы исправить ситуацию, Microsoft решила, что неплохо встроить какой-нибудь метод масштабирование в Windows. Один из двух методов описанных ниже (Windows XP или Vista), применяется когда пользователь устанавливает DPI со значением выше чем стандартные 96 точек на дюйм. Оба метода пытаются увеличить размер элементов изображения.

Масштабирование в стиле Windows XP

Первый из этих методов, как можно догадаться, появился в Windows XP. Этот метод, на самом деле, не является методом масштабирования приложений с графическим интерфейсом как таковой. Масштабируются, при более высоких настройках DPI, только системные шрифты и некоторые элементы пользовательского интерфейса системы (я бы назвал его «метод НЕ масштабирования» в стиле Windows XP).

Все остальные элементы приложений по-прежнему отображаются в масштабе 1:1. Единственной разницей в их внешнем виде является то, что любой текст и некоторые элементы GUI, выводимые с помощью системных функций, вдруг становиться больше. Например, текст на кнопках. Это вызывает очевидные проблемы которые мы обсудим чуть позже.

Масштабирование в стиле Windows Vista или DPI виртуализация

Windows Vista представила второй вариант со странным названием, «масштабирование дисплея», без каких-либо уточнений, видимо, чтобы окончательно запутать пользователей. Мы будем использовать более описательное имя – метод DPI виртуализации. Когда этот метод включен, Windows по-прежнему выполняет масштабирование в стиле Windows XP. Также как и прежде размеры всех системных шрифтов и некоторых элементов интерфейса системы увеличиваются.

Разница в том, что приложения, которые могут правильно использовать высокие значения DPI, должны сообщить об этом Windows. Такие приложения должны установить новый DPI-Aware флаг, либо путем вызова функции Win32 API «SetProcessDPIAware», или, предпочтительно, путем встраивания манифеста с флагом dpiAware. А вот если у приложения отсутствует DPI-Aware флаг, Windows ведет себя по другому, сначала она формирует внутреннее отображение в масштабе 96 точек на дюйм (эмулируя для приложения DPI равный 96), а затем, масштабирует полученное изображение в соответствие с текущими настройками DPI перед выводом на экран.

Это было бы фантастическим метод масштабирования если бы все наши мониторы имели плотность пикселей последних аппаратов iPhones (326 точек на дюйм). К сожалению это не так. Окна приложений масштабированные таким образом выглядят чересчур размыто, при популярном разрешении 120 точек на дюйм (@homm это не разрешение, кстати). Поэтому, Microsoft по умолчанию отключает DPI виртуализацию, если вы выберете плотность пикселей меньше или равную 120 DPI.

Как изменить установки DPI

В Windows 7/8, откройте «Панель управления», a затем выберите «Оформление и персонализация», затем «Экран», и, наконец, выберите «Установить размер шрифта (DPI)» (Windows 7) или «Пользовательские параметры размера» (Windows 8). Вы увидите следующее диалоговое окно (Windows 7, в Windows 8 почти идентично):


В раскрывающимся списке можно выбрать нужную настройку DPI в процентном соотношении, где 100% соответствует 96 DPI, 125% — как на скриншоте, соответствует 120 точкам на дюйм (можно более точно записать значение вручную). До Windows 8 фактическое значение DPI («пикселей на дюйм») отображалось рядом с размером системного шрифта. Windows 8, по непонятным причинам, не показывает значение DPI, так что вы должны рассчитать его самостоятельно.

Также вы можете приложить линейку (у которой есть шкала в дюймах) к экрану, и пытаться совместить маркировку на ней с маркировкой на экране, изменяя значение в раскрывающимся списке. Флажок, обведенный красным внизу, определяет, следует ли использовать только масштабирование в стиле Windows XP, или также новый способ DPI виртуализации. Если флажок не отмечен, как на скриншоте, то DPI виртуализация включена.

Декламация. Это диалоговое окно пример интерфейса не дружественного к пользователю. На первый взгляд кажется, что это флажок для отключения масштабирования в стиле Windows XP. Но этот метод масштабирования (который только увеличивает системные шрифты и другие элементы пользовательского интерфейса системы — масштабирование Windows XP) всегда включается при выборе высокого значения DPI. На самом деле этот флажок управляет, будет ли этот метод единственным (Использовать только масштабы в стиле Windows XP), или также будет применен метод «DPI виртуализации» для приложений, которые не имеют DPI-Aware флага. Так что этот флажок не контролирует метод масштабирования указанный в его название, а контролирует другой метод масштабирования, нигде не упомянутый — и позволяет использовать новый метод, когда флажок снят!

Ошибка в Windows 8. В дополнение к этому, в Windows 8 это диалоговое окно с ошибкой. Как правило, все работает как и в Windows 7, но состояние флажка не сохраняется на значениях DPI 150% и выше. Когда вы устанавливаете этот флажок, «DPI виртуализация» правильно отключается. Тем не менее, сам флажок остается не отмеченным, когда вы в следующий раз открываете этот диалог.

Изменения в Windows 8.1, или почему все размыто?

В Windows 8.1 флажок для масштабирования в стиле Windows XP исчез, и теперь «DPI виртуализация» никогда, не используется при значениях DPI до 120 включительно, но всегда используется при более высоких значениях для тех программ, у которых отсутствует DPI-Aware флаг. Если некоторые приложения кажутся вам нечеткими, необходимо вручную отключить для них DPI виртуализацию.

Windows 8.1 позволяет использовать несколько мониторов с разным значением DPI. Однако эта функция, также заставляет использовать «DPI виртуализацию» для традиционных приложений, которые перемещаются между мониторами с разными значениями DPI. Чтобы этого избежать, можно отключить в настройках «DPI масштабирование», используя новую опцию «Я хочу выбрать один масштаб для всех дисплеев».

Также Windows 8.1 добавляет специальный переключатель для настройки 200% и новый API, чтобы разработчики могли выборочно отключать «DPI виртуализацию».

Помогите, мои системные шрифты не правильного размера!

Иногда, после изменения настроек DPI, вы можете заметить что некоторые системные шрифты стали слишком большими или слишком маленькими для новых установок. Вероятной причиной является то, что вы используете пользовательскую тему рабочего стола на основе ваших старых настроек DPI. Windows не масштабирует шрифты пользовательской темы.

Если вы на самом деле создали пользовательскую тему рабочего стола и хотите сохранить её, вам придется самостоятельно адаптировать шрифты к новым настройкам DPI. Однако, Windows имеет раздражающую привычку «услужливо» создавать пользовательские темы без вашего ведома, по какой-либо причине. Так что, если вы никогда не создавали пользовательскую тему рабочего стола просто удалите её и вернитесь к стандартной теме.

В Windows 7/8, откройте Панель управления, выберите «Оформление и персонализация», а затем «Персонализация». Если вы видите выбранную запись в строке «Мои темы», это означает, что ОС Windows использует тему пользователя, системные шрифты которой Windows не будет масштабировать. Выберите стандартную тему, например, первую запись в разделе «Темы Aero» (Windows 7) или «Windows» «Темы по умолчанию» (Windows 8) и удалите нежелательные записи в разделе «Мои темы». Теперь, все системные шрифты должны отображаться правильно.

Типы приложений, как они масштабируются (или не масштабируются)

Теперь давайте рассмотрим какие методы должны использоваться для существующих Windows приложений при высоких значениях DPI. Следующая таблица обобщающая, позже мы рассмотрим различные случаи более подробно.

DPI-Aware флаг не установлен DPI-Aware флаг установлен
Не DPI-Aware Нужно использовать DPI виртуализацию Нужны исправления от разработчиков
DPI-Aware Нужно использовать масштабирование в стиле Windows XP Всегда масштабируется правильно

Приложения вообще не заботящиеся о DPI — это либо очень старые или плохо написанные, но, тем не менее, по-прежнему используемые. Одним известным примером является ITunes от Apple для Windows. Здесь разработчики используют системные шрифты для GUI и, не заботясь о фактических размерах шрифта, они жестко привязывают размеры окон к разрешению 96 DPI, естественно искажая GUI, когда при более высоких значениях DPI увеличиваются размеры шрифтов.

Такие приложения требуют нового метод масштабирования «виртуализации DPI», к сожалению, это часто делает интерфейс размытым. В противном случае вы столкнетесь с проблемами начиная, от обрезания текста до перекрытия элементов контроля, иногда, делая GUI полностью непригодным (к счастью, это, случается редко). За эти годы я собрал несколько образцов скриншотов не корректных приложений.

Пример приложения, работает только при DPI равном 96

разрешение 150% (144 DPI)


Приложения умеющие подстраивать свой GUI под различные значения DPI, но не имеющие DPI-Aware флага — Это типичные приложения эпохи Windows XP. Здесь разработчики позаботились, чтобы получить фактические размеры шрифтов системы перед созданием GUI. Такие приложения отображаются корректно при использование масштабирования в стиле Windows XP. К сожалению, так как они не устанaвливают DPI-Aware флаг, чтобы сообщить Windows этот факт, для них, по умолчанию, будет использована «DPI виртуализация», делая их GUI нечетким. Это может вам не понравиться, так что, вы, возможно, захотите принудительно использовать стиль масштабирования Windows XP для таких приложений.

Пример такого приложения и разрешение 150% (144 DPI)


Приложения умеющие подстраивать свой GUI под различные значения DPI, имеющие DPI-Aware флаг — Это новейший тип приложений которые полностью беспроблемны, независимо от настроек DPI. DPI-Aware флаг установлен автоматически для Windows Presentation Foundation (WPF) и GDI+ приложений, так как эти APIs предоставляют встроенные средства масштабирования. Разработчикам использующим старый GDI API и (удивительно) Windows Forms, нужно вручную помечать свои DPI-Aware приложения.

Приложения не приспособленные к изменению DPI, но имеющие DPI-Aware флаг — это еще хуже чем полностью игнорирование значения DPI. В примерах вы найдете GUI приложений, хорошо масштабируемых вплоть до 120 DPI, но не выше, или приложений JavaFX. Тут мы уже ничего сделать не можем, т.к. у нас нет возможности заставить Windows использовать DPI виртуализацию, для таких программ. После того как DPI-Aware флаг установлен, приложение должно масштабировать себя самостоятельно. Мы можем только «пилить» разработчиков исправить их продукт — или использовать что-то другое.

Выбор метода масштабирования для ваших приложений

После того как вы решили что вы хотите использовать высокое значение DPI, ваш выбор метода масштабирования зависит от приложений в которых вы работаете. Имейте в виду, что, отключить «DPI виртуализацию» означает, установить флажок (check box) с некорректным названием «Использовать масштабы в стиле Windows XP» и наоборот.

  • Если вам так невероятно повезло использовать только те приложения, которые являются одновременно DPI-Aware и устанавливают нужный флаг, тогда не имеет значения какой метод масштабирования вы выберете. Все приложения будут использовать масштабирование в стиле Windows XP, а DPI виртуализация никогда не будет использоваться.
  • Если вы используете только хорошо написанные DPI-Aware приложения, но некоторые из них не устанавливают необходимый флаг, вы можете отключить «DPI виртуализацию». Таким образом, все приложения будут отображаться правильно без какого-либо замыливания вследствие масштабирования. Если ваш монитор имеет очень высокую плотность пикселей, такую, что масштабированные растровые изображения больше не выглядят размытыми, вы, возможно, захотите включить DPI виртуализацию в любом случае.
  • Если у вас есть одно или несколько приложений не приспособленных к изменению DPI и не имеющие DPI-Aware флага, необходимо включить DPI виртуализацию, если вы не готовы мириться с перекошенным GUI приложений. К сожалению, тут возникает еще одна проблема, потому что, Microsoft реализовала эту опцию неудобно. Вы можете включить DPI виртуализацию только для всей системы, а не для отдельного приложения, а затем выборочно отключать для отдельных приложений.

Напоминаем, что в Windows 8.1 уже нет возможности выбора в этом вопросе. Если вы работаете при разрешении в 120 точек на дюйм (125%), каждая программа будет вынуждена использовать масштабирование в стиле Windows XP, a если вы работаете с более высоким разрешением, каждая программа, которая не является DPI-Aware, будет использовать по умолчанию «DPI виртуализацию».

Отказ от DPI виртуализации для отдельных приложений

После того как вы решили включить DPI виртуализацию или вы работаете в Windows 8.1, с разрешением более чем 120 точек на дюйм, вы можете проверить систему на предмет наличия DPI-Aware приложений, которые не имеют соответствующий флаг. И вернуть им возможность использовать масштабирование в стиле Windows XP, для которого они предназначены. Есть два способа сделать это, первый работает только для 32-разрядных приложений, второй универсален и подходит также для 64-битных приложений.

32-разрядные приложения — Это просто: щелкните правой кнопкой мыши на исполняемом файле в Проводнике Windows, выберите диалоговое окно «Свойства», перейдите на вкладку «Совместимость» и установите флажок «Отключить масштабирование изображения при высоком разрешении экрана». Вот и все, в Windows 8.1 это также работает для 64-битных приложений.

64-разрядные приложения — Без всякой видимой причины, возможно чтобы позлить пользователей 64-битных приложений, в Windows 8 и более ранних, упомянутый выше флажок, для 64-разрядных приложений отключен, хотя сам вариант вполне функционален, если внести изменения непосредственно реестр! Так что, запустите редактор реестра и перейдите к этому ключу:

HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionAppCompatFlagsLayers

Теперь добавьте строковое значение (REG_SZ), чье имя является полным путем к исполняемому файлу приложения и значением которого является HIGHDPIAWARE. Я рекомендую, чтобы вы сначала изменили несколько 32-битных приложений, как описано выше, чтобы вы могли увидеть некоторые примеры значений в этом ключе реестра.

Мы рассмотрели, как можно использовать настройки DPI на Windows Vista и более поздних версиях. И если вы когда-нибудь задумывались, для чего предназначена опция совместимости — «Отключить масштабирование изображения при высоком разрешении экрана». И почему она ничего не делает на вашей системе, теперь вы знаете: она эффективна, только если у вас включена общесистемная опция «DPI виртуализации» и только для приложений, которые не устанавливают DPI-Aware флаг должным образом, но при этом корректно используют масштабирование в стиле Windows XP.

Дальнейшее чтение

For more information about both scaling methods from a developer perspective, see the MSDN article Writing High-DPI Win32 Applications. This content has moved to Writing DPI-Aware Desktop and Win32 Applications. This lengthy article also contains a sample manifest to declare an application as DPI-aware, as well as sample screenshots for the various scaling methods and tips on display scaling in native code.

Unfortunately, the article currently only covers Windows XP through 7. See Writing DPI-Aware Desktop Applications in Windows 8.1 Preview (Word DOCX) and Chuck Walbourn’s Manifest Madness for additional information on Windows 8 and 8.1.

Outside of Microsoft, Gastón Hillar has published two articles targeting Windows 8.1 at Dr. Dobb’s. Part 1 covers basic concepts, and part 2 shows C/C++ sample code for the Win32 API.

You might also wish to check out Andrew McKinlay’s The Joys of High DPI for a nice (and terrifying) war story on working with high DPI in Windows 7. Lastly, see DPI Scaling in Windows GUIs for an evaluation of .NET and Java GUI frameworks with regard to DPI scaling.

P.S. Ссылка по теме и как посмотреть DPI-Aware флаг приложений.
Спасибо homm за помощь.

И как она влияет на качество картинки смартфона, монитора, ТВ? Разбираемся по порядку

PPI расшифровывается как плотность пикселей экрана, что это за обозначение термина, на что влияет, как узнать значение и какая должна быть плотность пикселей дисплея
PPI расшифровывается как плотность пикселей экрана, что это за обозначение термина, на что влияет, как узнать значение и какая должна быть плотность пикселей дисплея

24.10.2022   |  

~3,5 мин.

Четкость изображения любого экрана зависит от такого параметра, как плотность пикселей. Разбираемся, что это такое и какова оптимальная плотность пикселей для разных устройств.

Изображение на дисплее формируется из крохотных точек — пикселей. Каждый пиксель может менять цвет, а вместе они формируют полноценную картинку, которую видит пользователь. Количество пикселей на квадратный дюйм матрицы называется плотностью экрана — PPI (pixels per inch— пиксели на дюйм). У разных устройств среднее значение PPI разное: например, у телевизоров — 50–90 PPI, а у смартфонов может достигать 500 PPI и больше — как, например, у флагмана Galaxy S22 Ultra.

На что влияет плотность пикселей?

В первую очередь — на четкость и детализацию картинки. Чем больше плотность пикселей на дюйм, тем меньше размер самих пикселей, и наоборот. Экран с маленькой плотностью выглядит зернистым, изображение — нечетким и «мыльным», а пиксели даже можно рассмотреть невооруженным глазом. Высокая плотность пикселей, наоборот, означает, что пользователю видны даже самые тонкие и мелкие детали — например, шерсть животного, ворсинки на ткани или текстура кожи. Тонкие линии и мелкий шрифт на экране с хорошей плотностью пикселей отображаются максимально четко и плавно, без заметных «зубцов» из пикселей.

Чем отличается PPI от DPI?

Обозначение термина PPI похоже на расшифровку DPI — dots per inch (точки на дюйм). Это полиграфический термин для описания характеристик печатающих устройств — принтеров, плоттеров, типографских машин. Чем выше DPI принтера, тем большее количество точек краски он способен нанести на квадратный дюйм бумаги и тем меньше размер этих точек. Печатающие устройства с высоким DPI, так же как и экраны с высоким PPI, воспроизводят детализированные изображения высокой четкости. А вот говорить про «плотность пикселей DPI» некорректно, поскольку «плотность пикселей» и DPI — разные термины.

Эффективная плотность пикселей на ноутбуке, как PPI зависит от разрешения и диагонали экрана
Эффективная плотность пикселей на ноутбуке, как PPI зависит от разрешения и диагонали экрана

Так какой PPI выбрать?

Какая должна быть плотность пикселей экрана, чтобы пользоваться устройством было комфортно? На первый взгляд кажется, всё просто: чем больше — тем лучше. На самом деле это не так. Чтобы понять, каким должен быть PPI, надо разобраться, как человеческий глаз воспринимает изображение. Чем ближе находится экран, тем более мелкие детали можно различить, поэтому плотность пикселей на телефоне выше, чем PPI дисплея ноутбука, а у телевизоров этот показатель самый низкий, потому что его, как правило, смотрят с большого расстояния. То есть нормальная плотность пикселей для устройств разного типа — своя.

• PPI экрана смартфона — сколько нужно?

Как правило, показатель PPI смартфонов — самый высокий по сравнению с показателями других электронных устройств, потому что телефон обычно держат близко к глазам, а значит, нужна максимальная детализация изображения. Например, число пикселей на дюйм у смартфона Samsung Galaxy A53 — около 400 PPI, у Samsung Galaxy S22 Ultra — 500 PPI. Человеческий глаз может рассмотреть пиксели экрана при плотности до 300 PPI: если плотность выше, они становятся неразличимыми. Поэтому эффективный PPI для смартфона — 350–500 пикселей на дюйм. Повышать этот показатель в большинстве случаев смысла нет: глаз уже не заметит улучшений, зато высокий PPI повышает энергопотребление из-за дополнительной нагрузки на процессор.

Нормальная и эффективная плотность пикселей для смартфона 350–500 PPI
Нормальная и эффективная плотность пикселей для смартфона 350–500 PPI

• А плотность пикселей на ноутбуке?

По сравнению со смартфонами PPI экрана ноутбука в среднем в 2–3 раза ниже, поскольку дисплей находится примерно в три раза дальше от глаз: 60–80 см против 20–40 см. Комфортное значение PPI для ноутбука — от 150. Например, у Samsung Galaxy Book2 Pro плотность пикселей — 165 PPI.

• Какой оптимальный PPI для монитора?

Человек, работающий за монитором, подключенным к десктопу, воспринимает информацию с расстояния 80–110 см. Какая плотность пикселей монитора лучше в этом случае? Практика показывает, что для работы (почта, браузер, офисные программы) достаточно 90 PPI. Для игр, монтажа видео и просмотра фильмов лучше выбирать модели с более высокой плотностью пикселей. Например, у мониторов высокого разрешения Samsung этот параметр достигает 160 PPI.

• Что насчет характеристик PPI для телевизоров?

У ТВ самая низкая плотность пикселей — в среднем 40–100 PPI. Если подойти к такому экрану вплотную, можно разглядеть пиксели невооруженным взглядом, но обычно телевизор смотрят с расстояния 2–5 метров, а на такой дистанции их уже не видно. Впрочем, телевизоры Samsung из серии Neo QLED 8K имеют плотность пикселей более 100, что позволяет в полной мере наслаждаться контентом высокого разрешения — лучше, чем в кинотеатре.

Оптимальная плотность пикселей для разных устройств

Оптимальная плотность пикселей для разных устройств — таблица

Смартфон

350–500 PPI

Ноутбук

150–200 PPI

Монитор

90–160 PPI

Телевизор

40–100 PPI

Как посчитать плотность пикселей - формула, по которой рассчитывается PPI экрана монитора, смартфона, ноутбука, телевизора и других дисплеев
Как посчитать плотность пикселей - формула, по которой рассчитывается PPI экрана монитора, смартфона, ноутбука, телевизора и других дисплеев

Как узнать плотность пикселей самостоятельно?

В списках технических характеристик гаджетов не всегда указывают плотность пикселей, но ее нетрудно узнать самостоятельно. Вот как рассчитать PPI: разрешение экрана разделить на его диагональ. Разрешение — общее количество пикселей экрана по вертикали и по горизонтали. Или же можно поступить проще: PPI всегда можно найти в характеристиках устройства.

Ультрачеткая картинка.

Всё по высшим стандартам.

Читайте также

нормальная настройка четкости  Аббревиатура PPI расшифровывается как «Pixel Per Inch», то есть пиксель на дюйм. Эта величина указывает, сколько пикселей размещается в одном квадратном дюйме реальной величины монитора. Расчёт общего количества пикселей производится при помощи стандартных формул площади прямоугольника или прямоугольного треугольника, которые каждый из нас изучал в школе. Чем больше эта величина, тем выше разрешающая способность монитора.

Что значит плотность пикселей ppi

Плотность пикселей ppi определяет чёткость и качество выводимого на экран изображения. При большом количестве пиксели будут очень-очень маленькими, что позволит не замечать углов этих квадратиков и создаст иллюзию плавного перехода между объектами, отображающимися на экране.

ВАЖНО! Имеет значение и само качество изображения – если картинка размером 20х20 пикселей отображает лесной массив, то вне зависимости от силы монитора картинка будет «зернистой».

Эта характеристика очень важна для тех, кто работает с изображениями или видео на компьютере или планшете. Ну и, конечно же, для любителей компьютерных игр с высокими параметрами качества видео большой размер экрана придётся очень кстати.

ПРИБЛИЖЕНИЕЕсли речь идёт о мобильных устройствах (телефоны, смартфоны, планшеты и пр.), то слишком высокий ppi будет для них не столько полезен, сколько вреден. Вывод на экран качественной картинки с большим количеством пикселей пагубно сказывается на уровне батареи во время работы. То есть, устройства с большим ppi не смогут длительное время обойтись без подзарядки.

Как отрегулировать?

ПРИМЕР НАГЛЯДНОРазмер отображения на экране ПК отрегулировать не составит никакого труда. Это может потребоваться тем, кто приобрёл новый монитор, или наоборот, хочет уменьшить выводимое на экране изображение для экономии оперативной памяти и мощности процессора. Необходимая последовательность действий:

  • Нажать правой кнопкой мыши в пустом месте рабочего стола и выбрать «Разрешение экрана». Откроется меню, где можно выбрать:
  • Монитор (если их несколько), на котором отображается действие системы ПК.
  • Разрешение в пикселях (здесь есть множество вариантов, один из которых обозначен как рекомендуемый), которое ограничивается максимальным размером экрана.
  • Ориентация (формат изображения) из нескольких вариантов. Как правило, по умолчанию стоит наиболее удобная для восприятия при данном разрешении.

На мобильных устройствах свойства экрана могут быть отрегулированы в разделе «Настройки». Но не все телефоны предоставляют своим владельцам такую власть над собой.

Хотите узнавать о выходе новых статей? Подпишитесь на рассылку!

Чтобы правильно подобрать размер и разрешение монитора, придется разобраться в пикселях, дюймах, рассчитать PPI и определиться со сценарием использования: будете ли вы работать с документами, графикой или в основном играть на нем. Кажется, что это сложно, но давайте посмотрим на примерах.

Технические термины простыми словами

Пиксели — это светящиеся точки на экране. Они выстроены в ряды и столбцы. Количество рядов и столбцов — это и есть разрешение экрана. Например, при разрешении Full HD экран состоит из 1080 рядов и 1920 столбцов пикселей.

Матрица монитора состоит из пикселей. Количество пикселей по горизонтали и вертикали называют разрешением

HD, Full HD, 2К, 4K — всё это устоявшиеся обозначения для разного разрешения:

  • HD — 1280 × 720;
  • Full HD — 1920 × 1080;
  • 2К — 2560 × 1440;
  • 4К — 3840 × 2160.

PPI (Pixels Per Inch). Этот параметр связывает разрешение и размер экрана — показывает, сколько пикселей помещается в одном дюйме площади экрана. Пиксели при PPI меньше 80 слишком крупные, изображение выглядит зернистым, поэтому лучше ориентироваться на диапазон от 90–100 PPI. Чтобы узнать PPI, введите ширину, высоту и диагональ дисплея в PPI-калькулятор.

Самые распространенные размеры мониторов — 21, 24, 27 и 32 дюйма. PPI для диагонали 21 и 24 дюймов и разрешением Full HD составит 105 и 94 соответственно. Чтобы достичь такой же плотности пикселей для диагоналей 27 и 32 дюйма, разрешение должно быть уже 2К: для 27 дюймов PPI составит 109, для диагонали 32 дюйма — 92.

Для учебы и офиса

Комфортно читать статьи, смотреть лекции и писать текст получится на мониторе с диагональю 21–24 дюйма и разрешением Full HD — 1920 × 1080. Это оптимальный вариант с PPI 92–105 — будут четко видны даже мелкие буквы, глаза не будут напрягаться. Например, присмотритесь к ASUS VA24DQLB.

Монитор ASUS VA24DQLB 23.8", черный [90lm0541-b01370]

Можно взять экран на 27 дюймов, чтобы одновременно видеть несколько окон, например страницу Excel и браузер. Но чтобы шрифты были с четкими контурами, нужен PPI в районе 100, поэтому при такой диагонали подойдет монитор с разрешением 2К — 2560 × 1440, как у Samsung F27T700QQI. Больше не нужно, так как глазу будет комфортно и при 2К, а вы не переплатите за лишние пиксели.

Для работы с графикой

Дизайнерам и фотографам подойдет монитор с диагональю 27 дюймов и разрешением минимум 2К — 2560 × 1440 (109 PPI). На таком экране целиком поместятся макет, плашка с инструментами и окно второго графического редактора. А если занимаетесь ретушью фотографий, сможете разделить экран и фоном смотреть сериал или стрим.

Если мечтаете о мониторе побольше, начиная с диагонали 27 дюймов можно рассматривать разрешение 4К. Такие модели особенно подойдут графическим дизайнерам и для работы с изображениями высокой четкости. Но имейте в виду, что с монитором 4К нагрузка на видеокарту возрастет.

Например, в серии ASUS ProArt есть модель на 32 дюйма с 4K-разрешением. PPI составляет 138 (при разрешении 2K плотность пикселей была бы 92 PPI).

Монитор ASUS ProArt PA329CV 32", черный [90lm06p1-b01170]

Дополнительные параметры:

Матрица IPS. Такие экраны дают более яркое и многоцветное изображение, чем TN- и VA-матрицы.

Цветовой охват sRGB 100±5%. Это цветовой диапазон, которого хватит для веб-дизайна. Но если вы работаете с печатной продукцией или фотографиями, выбирайте монитор с широким цветовым охватом по стандарту DCI-P3, тогда при любом цветовом профиле готовое изображение будет выглядеть именно так, как вы его отредактировали.

Например, Philips 275E2FAE. Это бюджетная модель с IPS-матрицей, цветовым охватом 115% sRGB, матрицей 27 дюймов и 2К-разрешением.

Монитор Philips 275E2FAE (00/01) 27", черный

Монитор Philips 275E2FAE (00/01) 27″, черный

  • Размер экрана:27 «
  • Разрешение экрана:2560×1440
  • Частота обновления:75 Гц
  • Соотношение сторон экрана:16:9
  • Тип матрицы:IPS
  • Яркость экрана:350 кд/м2
  • Время отклика:1 мс
  • Время отклика (GTG):4 мс

Для игр

Киберспортсменам подойдет монитор с диагональю от 21 до 24 дюймов и разрешением Full HD — 1920 × 1080 (PPI 105-92). Большой экран будет только во вред: придется вертеть головой, чтобы увидеть все поле боя, карту, интерфейс. Из-за этого можно заметить противника на долю секунды позже и проиграть в сражении.

Дополнительные параметры:

Матрица IPS или VA. Раньше у самых недорогих мониторов с матрицей TN было преимущество перед IPS- и VA-мониторами — быстрый отклик пикселей. За счет него контур движущегося объекта остается четким. Но сейчас есть и IPS-, и VA-мониторы с откликом 1 мс, которые дают картинку с большими углами обзора и глубиной цвета, без смазывания.

Частота обновления экрана от 120 Гц. Изображение в движении будет более плавным, чем при 60 Гц. Но прежде чем покупать такой монитор, проверьте, способна ли видеокарта выдать больше 60 кадров в секунду в ваших любимых играх. Иначе вы не ощутите разницу.

Например, присмотритесь к младшей модели ASUS TUF Gaming с экраном Full HD 23,8 дюйма, частотой обновления 165 Гц, откликом в 1 мс на VA-матрице.

Монитор игровой ASUS TUF Gaming VG247Q1A 23.8" черный [90lm0751-b01170]

Если любите сюжетные игры, выбирайте монитор с диагональю 27 дюймов и выше — для большего погружения. Если чаще играете в стратегии, сможете оценить широкоформатный монитор с соотношением сторон 21:9 — на нем будет видно всю карту без масштабирования. Для любителей гонок широкоформатный монитор тоже подойдет — в комплекте с рулем и педалями погружение будет максимальным.

Рабочая область экрана больше за счет дополнительных полей по краям. В ширину у такого монитора пикселей больше, нагрузка на видеокарту выше, но в сравнении с обычным монитором 16 : 9 плотность пикселей (PPI) не меняется.

Только при диагонали выше 27 дюймов лучше выбрать 2K-разрешение, иначе картинка покажется зернистой, например AOC Pro CU34P2A на 34 дюйма c VA-матрицей, частотой обновления в 100 Гц, откликом 1 мс.

Коротко: что учитывать при выборе разрешения и диагонали монитора

  • Ориентируйтесь не только на размер, но и на PPI — плотность пикселей на дюйм. При значении ниже 80 картинка будет нечеткой, стремитесь к значению 95–100+ PPI.
  • Для учебы хватит монитора Full HD с диагональю 21–24 дюйма. При таком соотношении размера и разрешения экрана отдельные пиксели не бросаются в глаза, изображение выглядит четким. Если у вас проблемы со зрением, можно увеличить масштаб или купить монитор с диагональю от 27 дюймов с разрешением 2К.
  • Для работы с графикой подойдет монитор от 27 дюймов и 2К с цветовым охватом для веб-графики sRGB 100±5%, для печати — DCI-P3. На большом мониторе полностью помещаются холст, панель с инструментами и другие окна.
  • Для киберспортивных игр нужен экран с диагональю 21–24 дюйма с разрешением Full HD, матрицей IPS или VA, временем отклика 1 мс и частотой обновления от 120 Гц. На таком мониторе картинка не смазывается в динамичных сценах, изображение легко охватить взглядом, не нужно крутить головой.
  • Для сюжетных игр подойдет максимально большой экран с PPI от 100, но учитывайте производительность видеокарты. При разрешении 2K или 4K компьютер может не справиться с графикой, и игры будут тормозить, придется снижать настройки графики.

Откуда взялись 96 dpi

Мода на дисплеи с высокой плотностью пикселей, запущенная Apple, высветила проблемы с масштабированием, существующие у некоторых приложений для Windows. Откуда эти проблемы взялись и как их решить?

Одной из изюминок Acer Aspire S7, который я недавно тестировал, был его экран: при диагонали всего лишь 11,6 дюйма он имеет разрешение Full HD, т. е. 1920×1080 точек.

Такое соотношение параметров экрана Aspire S7 интересно тем, что отражает новое направление развития мониторов и интерфейсов пользователя, причем всех подряд: от сверхпортативных (Full HD появляется уже даже в телефонах) до настольных.

Сутью нового тренда является повышение плотности пикселей на дюйм экранной площади. В идеале это должно дать нам более привлекательную для глаза картинку с приятными, плавными и четкими линиями, а также меньшую утомляемость глаз (т. к. легче читать мелкие шрифты). А вот большее количество информации на экране отсутствует в списке приоритетов, речь идет, скорее, о том, чтобы тот же объем выглядел четче и красивее (а ведь мы привыкли, что именно большее количество информации на экране является причиной роста разрешения).

Плотность пикселей, как и многие другие вещи, ввела в глобальные тренды компания Apple, выпустившая на рынок дисплеи Retina.

У Стива Джобса вообще был дар взять что-нибудь и убедительно доказать, что мы без этого чего-то раньше жить не могли. К сожалению, с его смертью процесс изобретения новых «очень нужных» потребительских технологий (именно потребительских, т. к. их суть в том, что пользователю становится приятнее, а с объективной и технологической точки зрения они ничего нового не несут, только проблемы) несколько забуксовал.

Acer Aspire S7, экран которого имеет разрешение 1920×1080 точек при диагонали 11,6 дюйма, в принципе уже может потихоньку начинать конкурировать по плотности пикселей с новыми ноутбуками Apple с экраном Retina.

Но, как сказано выше, с технологической точки зрения это решение создает для участников рынка ИТ много новых проблем. Поэтому давайте рассмотрим подробно, что это, для чего нужно и какие плюсы и минусы приносит нам, пользователям.

Что такое Retina?

Итак, начнем с Retina (в переводе это слово означает «сетчатка», т. е. сетчатка глаза). В современном мире это слово употребляют для обозначения одной из самых известных технологий, выведенных на рынок компанией Apple, возглавляемой на тот момент Стивом Джобсом.

Для начала давайте определимся, что такое Retina и зачем эта технология нужна (если хотите, можете почитать англоязычную википедию). Впервые на рынке она появилась в 2010 году, с выходом iPhone 4. В принципе, можно дать слово самому Стиву Джобсу (видео презентации на Youtube), ибо кто сможет рассказать об этой технологии лучше?

Однако презентация на английском, поэтому приведем здесь ее краткую суть: дисплей имеет в 4 раза больше пикселей, но они меньше размером, т. е. на месте одного пикселя у нас получается блок из четырех. При этом каждый пиксель в четыре раза меньше, и его острые углы — тоже существенно меньше.

С технической частью понятно, но что это дает пользователю?

  • Большая детализация. Это самый очевидный плюс: вы сможете показать больше деталей, а изображение в целом будет более четким. Думаю, все знакомы с эффектом от перехода телевизоров и контента на Full HD, и насколько картинка в этом формате детальнее и четче, чем, например, у DVD. Поэтому переходим дальше:
  • Большая плавность линий. В отрисовке кривой линии участвует большое количество мелких элементов, поэтому теперь эти линии выглядят не как лесенка из квадратиков, а как плавная нарисованная кривая. Это важно и с точки зрения детализации, но основной плюс состоит в том, что человеческий глаз гораздо лучше воспринимает плавную кривую линию, чем прямую или, тем более, нагромождение квадратиков. Этот момент хорошо иллюстрируется на видео презентации, но наверняка вы и сами можете представить себе, о чем идет речь. На всех обычных экранах Windows пиксели (т. е. зубчатые грани) шрифтов всегда очень сильно заметны. Это и есть следующее преимущество:
  • Большая четкость линий. Кривые на экране — это не только графики и графическая информация вообще. Это еще и отрисовка букв: ведь шрифты состоят не только из прямых линий. При большой плотности пикселей глазу гораздо легче различить буквы, он меньше напрягается. Соответственно, можно либо делать шрифты меньше (т. е. на экране поместится больше информации), либо просто расслабить глаза при чтении (больший комфорт при чтении). Это особенно заметно на маленьких экранах, где очень большой дефицит места. Читать текст с экранов современных смартфонов с большой плотностью пикселей гораздо комфортнее.
  • Наконец, в случае Retina количественный рост переходит в качественный. Плотность пикселей на экране Retina для iPhone официально составляет 326 пикселей на дюйм (многочисленные калькуляторы дают результат 329,6). По словам Стива Джобса, человеческий глаз способен разглядеть отдельный пиксель максимум при уровне в районе 300 пикселей/дюйм, а дальше перестает выделять отдельные элементы и воспринимает кривую линию как гладкую. Технически это не совсем верно, ибо для восприятия важен не только размер элемента, но и расстояние до глаз. Поэтому, например, для смартфона комфортная плотность пикселей должна быть выше, чем для более крупных устройств. Например, у Macbook Pro Retina плотность пикселей на дюйм меньше, но их экраны находятся от пользователя дальше.

Все эти выводы вполне подтверждаются и моим собственным опытом: я параллельно использовал два смартфона — iPhone 4s (960×640 пикселей при 3,5″, 329,6 пикселей на дюйм) и HTC Mozart (разрешение 800×480 пикселей при 3,7″, 252 пикселей на дюйм). Маленький экран с высокой четкостью действительно существенно комфортнее в повседневной жизни, особенно при чтении: мелкие шрифты становятся гораздо яснее и четче, глаза перестают уставать, устройством можно пользоваться дольше, глазам не нужен отдых. Эти достоинства заметно выделяют его среди устройств с «обычными» разрешениями экрана.

В нашем современном мире, где очередным технологическим прорывом уже трудно удивить (да и происходят они не так часто), «Retina Display» предложил прорыв в удобстве использования, который действительно очень сильно изменил впечатления от работы с экраном. Поэтому неудивительно, что другие производители и другие устройства попытались последовать примеру компании Apple. Правда, повысились требования к технической части: теперь смартфонам и ноутбукам приходится обсчитывать для вывода на экран гораздо большее количество пикселей (в приведенном примере их стало на 60% больше), т. е. растет нагрузка на графический адаптер, от него требуется больше работы, растет выделение тепла и энергопотребление.

Как растянуть экран вчетверо так, чтобы никто не заметил?

Секрет относительно простого перехода на экраны Retina в iOS состоит в том, что новое разрешение… вдвое больше старого по каждой оси. На момент его появления у iOS было всего два форм-фактора экрана и два разрешения, что создает практически идеальные условия работы для разработчиков (в отличие от Android, например). И то все мы помним, какие «глобальные сложности» были при появлении iPad — ведь приходилось «переделывать интерфейс» под еще одно разрешение. С появлением Retina ситуация радикально не изменилась: добавилось два разрешения, которые вдвое больше по каждой оси (т. е. вчетверо по площади).

В результате условия для перехода получились практически идеальными: достаточно увеличить размер шрифтов и графических элементов в пикселях вдвое, и при этом их видимый размер остается тем же. Современные векторные шрифты рисуются системой, т. е. могут быть произвольного масштаба и переносятся на Retina без каких-либо проблем. С графическими элементами немного сложнее, т. к. они обычно имеют четкий размер в пикселях, поэтому их приходилось перерисовывать. Однако даже если ничего не делать, то для iPad или iPhone ничего страшного не произойдет: построение интерфейса и графических элементов сохранится, т. е. эргономика останется на прежнем уровне, а картинки достаточно растянуть вдвое (да, станет заметна некоторая размытость и угловатость, но ничего критичного). В общем, для iOS проблема решилась ударным перерисовыванием иконок и графических элементов (что привело к росту размера приложений, которым теперь зачастую тесно на младшей модели iPad с 16 ГБ памяти). Для браузеров и веб-страниц все немного сложнее, но и там есть относительно простое решение через понятия реального и виртуального пикселя. Сложности, опять же, могут возникать только при масштабировании картинок с четко заданным размером в пикселях, но это небольшие проблемы: картинка просто не будет настолько красивой, как окружающие элементы.

Другими словами, более простой переход придумать сложно. Ситуацию не сравнить с Windows или Android, где практически мгновенно составился такой длинный список из диагоналей экрана и разрешений, что чем оптимизировать индивидуально — проще было сразу застрелиться. Впрочем, разработчики Android исторически переносили сложности с завидным спокойствием: делали интерфейс под удобные им параметры — и гори оно всё остальное синим пламенем! Ситуация, конечно, исправляется потихоньку, но до сих пор то, как выглядят очень многие известные приложения под Android на планшетах, иначе как «стыд и срам» не назовешь. Тем более что у телефонов Android ориентация преимущественно вертикальная, а у планшетов — горизонтальная из-за соотношения сторон и разрешения. Тем не менее, современные приложения под Android умеют разворачиваться на весь экран и более-менее корректно размещать на экране элементы управления (даже с этим у них в свое время были серьезные проблемы).

Думаю, что адаптировать MacOS под высокую плотность пикселей было гораздо сложнее, но т. к. это тоже Apple, мы об этом не узнаем. Впрочем, и в этом случае речь шла об устройствах одной компании, с ограниченным набором диагоналей и разрешений (фактически сейчас речь идет о двух диагоналях и четырех разрешениях, так ведь?), куда добавилось еще два (и опять же с легким для масштабирования фактором 2), так еще и при условии жестко заданного соотношения сторон, 16:10. Тоже больше походит на тепличные условия. В общем, iOS и MacOS перешли на новые экраны относительно безболезненно, хотя процесс адаптации сторонних приложений идет до сих пор, но это незаметно значительному числу пользователей, которые ограничиваются использованием только самых основных приложений (как правило, идущих в комплекте с системой). Такова особенность экосистемы Apple и ее пользователей.

Что же касается платформы Windows, то для нее возможный процесс перехода на дисплеи высокого разрешения, а точнее адаптации под них ПО, будет гораздо сложнее. Причем компания Microsoft предпринимает серьезные усилия для того, чтобы масштабирование и для нового, и для традиционного интерфейса было простым, логичным и безболезненным. Однако на этом направлении усилий только Microsoft недостаточно, разработчикам приложений также необходимо участвовать в процессе, тем более что при реализации алгоритмов правильного масштабирования возникает очень много специфических сложностей и проблем с интерфейсом.

История: откуда взялись 96 DPI?

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

И здесь нам не удастся избежать того, чтобы не начать разговор с деяний Apple. Дело в том, что представленные в 1984 году Macintosh уже имели графический интерфейс и несколько других особенностей, включая нужные программы, что делало их хорошим выбором для профессиональной работы с полиграфией.

При работе с полиграфией возникла необходимость в некоем универсальном параметре, который привязывал бы размер виртуальных элементов (тех же букв) на экране к размеру их же на бумаге. Для этого был предложен параметр «количество точек на дюйм», DPI. Этот параметр стоит отличать от другого — «пикселей на дюйм», PPI. Несмотря на то, что эти параметры часто совпадают (и поэтому многие считают их тождественными), на самом деле они считаются от совершенно разных вещей. Их значение можно посмотреть в википедии (DPI и PPI), чуть ниже мы поговорим о разнице между ними.

Так получилось, что на очень долгое время параметр DPI стал одним из краеугольных камней построения графических интерфейсов персональных компьютеров, и хотя сейчас он кажется нам тщательно продуманным, наполненным глубоким смыслом и освященным традициями, на самом деле он получился практически случайно. Просто у первых Macintosh был монитор с диагональю 9 дюймов и разрешением 512×342 точки; и на нем буква высотой 72 пикселя выглядела по размеру так же, как буква высотой один дюйм на бумаге. В общем, так получилось 72 пикселя на дюйм

Я уверен, что многие из читателей неоднократно встречали этот параметр в самых разных сферах применения (хотя чаще всего речь идет о параметрах графики или, например, сканирования). Изначально этот коэффициент действительно позволял довольно точно соотнести размер элемента на экране (букв или графики) и на бумаге. Однако по мере распространения электронных изображений он стал источником всё большей и большей путаницы. Сколько, например, было написано в интернете статей с объяснениями, что этот параметр нужен только для вывода на бумагу, а для электронного изображения важен размер в пикселях — не сосчитать.

В результате, как это часто бывает со всеми стандартами, со временем он стал приносить больше вреда, чем пользы.

Тем более что в современном мире и сама привязка уже давно не может похвастаться точностью, поскольку сегодня существует огромное количество вариантов соотношения физического размера экрана и его разрешения. Для сравнения, в современных ноутбуках разрешение 1366×768 имеют экраны с диагональю от 11,6 до 15,6 дюймов. Как вы думаете, будут ли у них элементы под 72 dpi одинакового размера?

Причем 72 dpi — это параметр, специфический для компьютеров Apple. Компания Microsoft применила другую, производную формулу: там посчитали, что экран находится от глаз пользователя в среднем на 33% дальше, чем мы обычно держим лист бумаги. Поэтому, чтобы буквы казались нам одинакового размера, на экране они должны быть крупнее.

Так что если приложить лист бумаги (или линейку) к экрану, то изображение на экране будет крупнее, чем на бумаге (т. е. формально коэффициент неверный). Но если сравнивать размеры элементов в обычной рабочей обстановке, когда мы держим лист в руках, а монитор стоит на столе, то размеры элементов должны для нас выглядеть одинаково. Иначе говоря, 96 dpi — еще более виртуализированный параметр. Зато у этого решения Microsoft проявился большой побочный плюс: читаемость шрифтов. На Macintosh все было «честно», но зато самый часто используемый шрифт 10 кегля выглядел мелко, тогда как на экране Windows тот же шрифт выглядел крупнее и был вполне читаемым. Почитать подробнее можно, например, в блоге на msdn.com.

Таким образом, 96 dpi — это виртуальный параметр, полученный в результате виртуальных же вычислений и усреднений. Он высчитан на основе оценки субъективного восприятия пользователем размера буквы в зависимости от расстояния и представляет собой поправочный коэффициент к параметру 72 dpi, который, в свою очередь, является просто отражением того факта, что 72 точки одного монитора с определенной диагональю и разрешением (причем вышедшего на рынок очень-очень давно) совпадает с виртуальным дюймом, используемым в печати. Сложно? Весьма.

В отличие от этого виртуального параметра, PPI вполне реален: это физическое количество реальных пикселей экрана на дюйм, которое очень легко поддается точному расчету. В этом и состоит ключевая разница между параметрами: один из них виртуален, а другой вполне реален.

Как построен интерфейс Windows, почему 96 dpi стали базой, как эта база используется?

Тем не менее, параметр 96 dpi стал важнейшим элементом для построения интерфейсов системы и приложений. Как же так получилось?

Во времена, когда Windows только захватывала рынок, технологии и индустрия ПК не развивались такими безумными темпами, как сейчас, однако развитие шло, и тогда казалось весьма динамичным. Сменяли друг друга стандарты вывода изображения на экран: CGA, EGA и, наконец, VGA, ставший последним стандартом IBM, широко распространившимся на рынке. Постепенно росли диагонали мониторов и доступные разрешения. И разрешение постепенно из константы превращалось в одну из переменных.

Однако привязка компьютеров к бумаге продолжала оставаться одним из важнейших аспектов их функциональности. Соответственно, сохранял свою актуальность и параметр dpi, который задавал параметры шрифтов и графики при выводе на бумагу. Видимо, этот параметр стали воспринимать в виде универсальной константы, и именно dpi стал точкой отсчета для построения интерфейса системы и приложений — как для текста, так и для графики.

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

При этом, хочу еще раз напомнить, сам по себе параметр dpi — виртуальный и не имеет никакого отношения к аппаратной части компьютера. Компьютер всегда рисует изображение в пикселях и выводит его на экран в определенном разрешении. Ему, по большому счету, все равно, на какую диагональ выводить картинку, и уж тем более он не знает, как далеко от экрана сидит пользователь, а ведь этот параметр учитывался при выборе наиболее «выгодного» dpi. Следовательно, dpi как параметр нужен нам в двух случаях: при выводе на бумагу (тогда он задает масштаб и организацию элементов на листе бумаги) и как некая базовая величина, определяющая субъективно удобный масштаб элементов изображения на экране.

Поскольку это случайное удачное сочетание параметров монитора (размеры изображения/разрешение, дающие нужный PPI) и системы (dpi) хорошо работало, его воспринимали как нечто постоянное и незыблемое. Считалось, что параметр dpi = 96 сохранит свою актуальность всегда. Вот почему не всегда следует слепо доверять «удачному опыту» — это может оказаться не общее правило, а просто удачно работающее сочетание случайных параметров, которое рассыплется, как карточный домик, стоит измениться одному из них. Собственно, это произошло и с dpi: все настолько поверили в его незыблемость, что для упрощения жизни стали рассматривать его как константу. А когда изменить dpi все-таки понадобилось, с интерфейсами случилась катастрофа. Вот об этом и поговорим.

Организация интерфейса Windows, ЖК-экраны и связанные с ними сложности

Итак, dpi стал базовой величиной, которая легла в основу всех элементов (текстовых и графических) и ОС Windows, и приложений. При увеличении разрешения размер элементов в dpi оставался тем же, просто их больше помещалось на экран, а видимый размер, т. е. то, как эти элементы выглядели на экране, определялся соотношением физического размера экрана и его разрешения. Долгое время разрешение и диагональ экрана росли примерно одинаковыми темпами, так что ничего страшного не происходило.

В принципе, концепция dpi немного зашаталась уже по мере развития ЭЛТ-мониторов, т. к. нужное соотношение размер/разрешение даже для них отнюдь не всегда выдерживалось точно. В результате, на разных мониторах элементы на экране имели разные видимые размеры. Но в большинстве случаев с небольшими отклонениями мирились, а в случае значительных отклонений от «нормы» на помощь приходили сами мониторы. Ведь ЭЛТ-трубки хорошо работали с несколькими разрешениями, так что проблему скорее всего можно было устранить, поставив на мониторе другое разрешение — таким образом, чтобы визуальный размер элементов был ближе к заветному dpi. Поэтому большинство пользователей воспринимали слишком мелкую или слишком крупную картинку не как неправильный масштаб, а скорее как неправильное разрешение для конкретного монитора. Например, помните про 800×600 vs 1024×768 для 14-дюймовых мониторов?

Этот способ перестал работать с переходом на мониторы с ЖК-матрицами, ибо они способны хорошо работать только с одним разрешением. И уже на втором шаге развития ЖК-мониторы показали, насколько они могут испортить всем жизнь.

Первый раз пользователи ПК глобально столкнулись с проблемой масштабирования, когда на рынок стали массово выходить ЖК-мониторы с диагональю 17-дюймов и разрешением 1280×1024 точек. Я думаю, многие читатели помнят проблемы с их настройкой. В погоне за красивыми спецификациями производители выбрали разрешение побольше, но в результате для этого типа матриц баланс размер/разрешение получился крайне неудачным: плотность пикселей оказалась слишком высокой, и при стандартных настройках монитора и системы изображение элементов на экране было слишком мелким для комфортной работы. Тут выяснилось, что масштабирование в Windows работает плохо.

Дело доходило до того, что пользователи от отчаяния понижали разрешение на ступень, хотя для ЖК-мониторов это имело очень неприятные последствия: изображение становилось нечетким, шрифты — расплывчатыми, глаза все равно болели. Ко всем бедам, разрешение 1280×1024 предполагает нестандартное соотношение сторон: 5:4 вместо 4:3, т. е. при переводе монитора на 1024×768 еще и пропорции нарушались. Вот такое неудачное стечение обстоятельств…

Потом на рынке появились мониторы с диагональю 18 и 19 дюймов и с тем же разрешением, на которых размер экранных элементов уже был более пристойным, что снизило остроту проблемы. Однако широкие массы уже получили наглядный урок, что возможность масштабировать интерфейсы на экране — не роскошь, а необходимость. Тем более что с распространением ЖК-матриц старый добрый способ «изменить разрешение экрана» уже не работал, т. е. оставалась только программная настройка системы. Так и проще, и удобнее, и возможностей по настройке гораздо больше. Это сейчас всё кажется таким очевидным, потому что мы привыкли. А ведь долгое время считалось, что нужно менять не масштаб картинки, а разрешение экрана…

Однако масштабирование в Windows выполнить не так просто, как кажется.

Сложности масштабирования интерфейса

Интерфейс системы и приложений состоит из большого количества разных элементов. Однако рассчитываются они в разных системах координат. Например, шрифты считаются в тех же dpi (там все может быть сложнее, но для простоты возьмем, что это их единственный параметр), а графические элементы — напрямую в пикселях.

Иконка на рабочем столе — это простое растровое изображение с жестко фиксированным размером в точках (пикселях), например 32×32, и такого размера она и останется (насколько я помню, сейчас есть варианты 16×16, 32×32, 64×64 точек, но это просто еще одна иконка, нарисованная в другом размере; подробнее о создании иконок, например). Интерфейс выглядит целостно только до тех пор, пока сохраняются заданные создателем пропорции текстовой и графической составляющих.

Возьмем простейший пример: в интерфейсе есть диалоговое окно, на нем кнопка «сохранить изменения», фоном которой служит растровая картинка. Предположим, мы выставили масштаб графики 100%, а dpi=96, и при этих условиях нарисовали интерфейс. Все элементы отлично подогнаны друг под друга и выглядят замечательно. Теперь выставим dpi=120, что произойдет? Текст станет больше, а размер кнопки останется прежним — т. е. текст вылезет за рамки отведенного ему места. Теперь представим себе, что все отрисованное окно — это растровое изображение (битмап), и выставим масштаб 120%. И текст, и фоновые картинки станут размытыми, потеряют четкость. Выглядит такой интерфейс неаккуратно и неприятно. Собственно, это две основных проблемы при масштабировании интерфейсов, и ниже мы поговорим, как они решались и решаются в Windows.

Зоопарк устройств

Компания Apple контролирует и устройства (причем единолично), и программную платформу. Поэтому она, во-первых, может сама решать, какие решения и с какими параметрами ей выводить на рынок, а во-вторых, может поддерживать ограниченный ассортимент продуктов, подбирая наилучшее (по ее мнению) соотношение параметров. Это, помимо всего прочего, облегчает жизнь и самой компании, и сторонним разработчикам в плане создания и оптимизации интерфейса.

Платформа Windows построена на совершенно иных принципах, суть которых в многообразии производителей компонентов, ПО и устройств, объединенных лишь общей операционной системой. Выпуском матриц и мониторов для настольных компьютеров и мобильных устройств на Windows занимаются самые разные производители, поэтому существует огромное количество доступных диагоналей экрана и разрешений, причем постоянно добавляются новые, а старые перестают быть актуальными. Поэтому разработчики ПО просто не могут проверить все варианты и вынуждены создавать интерфейсы по максимально универсальным принципам, которые позволят им работать на любых типах мониторов. До последнего времени единственным постоянным параметром оставалось dpi, и производителям ПО оставалось молиться, чтобы производители мониторов так подбирали соотношение диагонали и разрешения, чтобы 96 dpi примерно соответствовало их PPI.

Однако в реальной жизни производители «железок» оглядываются на маркетинговые цифры больше, чем на своих коллег по производству софта. Например, хотелось бы кинуть гранату и в стан производителей мониторов: эти ребята со спокойной совестью выпускают мониторы с одним и тем же разрешением Full HD 1920×1080, но с диагональю матрицы от 21,5 до 27 дюймов. Причем найти хороший 27-дюймовый монитор с разрешением Full HD (которое мне лучше всего подходит в силу не очень хорошего зрения) до последнего времени было не так-то просто, да и цена там была соответствующая.

Впрочем, даже текущую ситуацию скоро можно будет назвать «добрые старые деньки». Apple подняла на флаг идею резкого увеличения количества плотности пикселей на дюйм и активно внедряет ее во все свои устройства. Новый стандарт уже принят рынком, и чтобы не отстать, платформе Windows приходится двигаться в том же направлении. Это заставляет искать совершенно другие подходы к конструированию интерфейсов и создает очень много новых проблем.

Более того, компания Microsoft сама смело шагнула дальше, включив в парадигму еще и планшеты: т. е. теперь у нас одна и та же операционная система (Windows 8) с одним и тем же интерфейсом должна не просто работать, а обеспечивать высокое удобство использования и схожие ощущения от работы на любом экране, начиная с 10-дюймового планшета с разрешением 1366×768 (это первоначально заявленное минимальное стандартное разрешение для системы, однако сейчас Microsoft снизила это требование до экранов в 7 дюймов и разрешения 1024×768) и до… ну, пусть будет 30-дюймовый (а на самом деле выше) монитор с разрешением, уже превосходящим Full HD (например, 2560×1600).

Таким образом, Full HD (1920×1080) тоже отнюдь не предел. Но основной юмор ситуации даже не в этом, а в том, что экран с разрешением Full HD может оказаться и на громадном 27-дюймовом мониторе (или телевизоре с еще большей диагональю), и на 11-дюймовом экране планшета.

Игры как пример

Итак, думаю, многие читатели уже пришли к выводу, что идеальным выходом было бы создание интерфейса из полностью масштабируемых элементов. Для иллюстрации этого подхода к решению проблемы возьмем другой пример из истории древнего мира: эволюцию компьютерных игр. Изначально они зачастую выглядели так: жестко нарисованный под нужное разрешение задник (фактически — картинка типа обоев) плюс спрайты — растровые изображения фиксированного размера, причем фиксированного в пикселях (можно предаться ностальгии на msdn). Иначе говоря, фактически те же иконки рабочего стола с жестко заданным размером в пикселях или растровые шрифты. Анимация спрайта осуществлялась за счет того, что на месте одного спрайта ставился другой, тоже заранее отрисованный. Как осуществлялось масштабирование спрайтов, я, пожалуй, рассказывать не буду — поберегу нервы читателей.

В принципе, даже все любимые 3D-игры нашего детства, начиная с Wolfenstein 3D, использовали спрайты. В качестве их лебединой песни можно назвать незабвенный Duke Nukem 3D. Это, пожалуй, последняя успешная игра, в которой монстры были спрайтовыми, при том что сам игровой мир уже довольно давно был реально трехмерным.

Статический спрайт можно нарисовать и даже анимировать красиво, но вот беда — только для определенного разрешения и определенного масштаба. Масштабирования он не перенесет. Собственно, ужасные крупные пиксели спрайтов — как раз и есть пример неудачного масштабирования. Поэтому постепенно в играх они стали вытесняться векторными изображениями людей и машин. Так можно построить полноценные двух- и трехмерные модели со всеми плюсами (возможность их разворачивать как угодно, масштабировать и пр.), но и минусами (требуют для расчета значительных вычислительных ресурсов). В общем, это и стало толчком к развитию всех трехмерных видеокарт, которые сейчас пафосно называют GPU. Мир в играх стал полностью масштабируемым, а бонусом — полностью трехмерным, — но ценой сильного роста требований к вычислительным ресурсам. С тех пор идет постоянная гонка: по мере роста вычислительных возможностей железа растет качество обработки и сложность, что повышает требованиz к вычислительным возможностям — и так далее.

Слева — оригинальная игра со спрайтовыми монстрами и характерными для того времени текстурами, справа — результат работы фанатов, которые в т. ч. привели монстров в трехмерный вид.

Впрочем, на трехмерность интерфейса мы пока не претендуем. Нам важно понять, что растровые иконки-картинки не подходят для современной концепции вывода изображения, а раз так — нужно создать новую парадигму построения интерфейса, в которой все элементы могут свободно масштабироваться в зависимости от текущего соотношения разрешения и диагонали экрана. А эта задача посложнее будет, чем у Apple (там требовалось всего-то перерисовать иконки с вдвое большим разрешением). Хотя, в общем-то, при решении этой задачи до сих пор практически повсеместно применяются обходные технологии.

Итак, в первой части мы оценили общее количество и масштабы стоящих перед разработчиками задач. В следующей, второй части, мы рассмотрим, как проблема масштабирования интерфейса решается в Windows — и для традиционного десктопа, и для нового интерфейса (который раньше называли Metro).

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить плотность печати на принтере
  • Как изменить плотность металла
  • Как изменить плотность кислоты
  • Как изменить плотность жидкости
  • Как изменить плотность вязания спицами

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии