Дисплей hidpi что это
Обычный дисплей, подключенный к MacBook, обнаружил, что собственное разрешение установлено на дисплее 2K с очень мелкими шрифтами, а эффект отображения особенно размыт при замене на разрешение 1080P. Ниже показано, как принудительно использовать HiDPI на MacBook.
Что такое HiDPI
Он использует 2 физических пикселя по горизонтали и вертикали, то есть 4 физических пикселя для отображения области пикселей. В результате детали изображения удваиваются, становятся более четкими, а края более гладкими.
В качестве примера возьмем 13-дюймовый MacBook Pro с физическим разрешением экрана 2560 x 1600, поэтому исходное разрешение HiDPI составляет 1280 x 800. Более высокое разрешение масштабирования 1440x900 HiDPI представляет собой виртуальное разрешение 2880x1800, а затем ввод мягкого масштабирования. Итак, вы можете обнаружить, что компьютеры Apple всегда имеют очень высокое разрешение.
Что ж, поскольку ваш экран 1080p, не так много пикселей для синтеза HiDPI. Если вы рассчитываете с собственным дисплеем, разрешение вашего экрана 1080p должно быть 960x540. Вы не можете использовать такое низкое разрешение.
Функция этого скрипта - виртуализировать поддельное разрешение, которое выше физического разрешения вашего экрана . Если вы хотите включить разрешение HiDPI 1080p, виртуализируйте поддельное разрешение 3840 x 2160, и тогда macOS будет использовать 4 пикселя. Для отображения области размером 1 пиксель, что соответствует разрешению 1080p, которое соответствует вашему физическому разрешению.
Настроить HiDPI вручную
Тестовая среда для этого руководства:
- Ноутбук: MacBook Pro (Retina, 15 дюймов, середина 2015 г.)
- Дисплей: Dell P2416D
- Операционная система: MacOS Catalina (версия 10.15.1)
0. Установите RDM
Я считаю, что многие люди уже установили этот инструмент. Он используется для изменения разрешения экрана. Если он не установлен, установите его на странице загрузки RDM.
1. Отключите SIP в macOS.
SIP называется «Защита целостности системы» или «Защита целостности системы». Это механизм защиты, используемый Apple для предотвращения несанкционированного доступа к системным файлам. Чтобы отключить его для последующих операций, выполните следующие действия:
- Выключить (лучше сфотографировать на телефон и записать эти 4 шага)
- Нажмите команда (⌘) + R + кнопка питания Включение, автоматический переход в режим восстановления
- Выберите в верхней строке меню Утилиты средний Терминал
- введите команду csrutil disable
Наконец, терминал отображает «Успешно . ». Ожидается много текста, подтверждающего успех. Вы можете войти reboot Перезагрузка. После выполнения всех указанных ниже настроек, если вы хотите восстановить SIP, повторите шаги с 1 по 3 и войдите в шаг 4. csrutil enable Довольно.
2. Включите опцию HiDPI в macOS.
После повторного перезапуска войдите в систему, откройте терминал и войдите
3. Проверьте номер вашего внешнего монитора.
Этот шаг очень важен, сначала введите две команды
Эти две команды используются для запроса вашего идентификатора поставщика дисплея. DisplayVendorID И идентификатор продукта DisplayProductID . Далее вам нужно найти соответствующий вашему монитору DisplayVendorID с участием DisplayProductID :
- Отсоедините кабель HDMI или DP от дисплея.
- После ввода двух вышеуказанных команд по отдельности return(↩) , Каждая команда вернет результат с числом. Это номер по умолчанию для MacBook DisplayVendorID с участием DisplayProductID Вверх
- Подключитесь к монитору
- Затем введите две команды отдельно, и каждая команда вернет два результата с числами. По сравнению с результатом по умолчанию для MacBook только что другое число - это ваш монитор DisplayVendorID с участием DisplayProductID Вверх
- Преобразуйте эти два числа в соответствующие шестнадцатеричные числа с помощью этого инструмента шестнадцатеричного преобразования.
Теперь вернитесь на рабочий стол и создайте новую папку с именем DisplayVendorID- [шестнадцатеричное число DisplayVendorID, которое вы только что нашли] ,Например DisplayVendorID-10ac 。
Затем добавьте файл в эту вновь созданную папку и назовите его DisplayProductID- [только что найденное шестнадцатеричное число DisplayProductID] ,Например DisplayProductID-a0c3 。
4. Создайте файл plist для своего монитора.
Введите модель дисплея, DisplayProductID и DisplayVendorID в поле слева, обратите внимание на заполнение шестнадцатеричного числа и проверьте, совпадает ли десятичное число сзади с тем, которое вы только что проверили. Если вам нужно добавить собственное дополнительное разрешение, просто создайте новую конфигурацию разрешения прямо ниже. Наконец, скопируйте сгенерированный текст в формате XML справа и вставьте его во вновь созданный файл. (Вы также можете скачать файл прямо с сайта, убрав суффикс имени файла .plist )
Текст XML выглядит следующим образом:
4. Скопируйте файл конфигурации plist в каталог конфигурации системы.
Этот шаг заключается в копировании вновь созданного файла конфигурации в вашу системную директорию. Если вы копируете напрямую, вам обычно будет предложено, что системная директория предназначена только для чтения, и вы не можете сделать что-либо неправильно. Итак, сначала вам нужно выполнить следующую команду в терминале:
Таким образом можно скопировать в системную папку. (Эта команда становится недействительной после перезапуска)
Затем откройте системную папку /System/Library/Displays/Contents/Resources/Overrides/ , Вы найдете множество каталогов с названиями, похожими на имена только что упомянутой папки. Добавьте свои вновь созданные папки, смешайте с ними и представьте, что это одна из них. Перезагрузка.
5. Измените разрешение.
После перезагрузки снова войдите в систему, сначала откройте RDM, вы увидите его в строке меню:
Основной дисплей и Дисплей 2 - это настройки разрешения экрана вашего внешнего монитора и MacBook соответственно (положение может быть обратным, попробуйте сами). Пункт настройки разрешения с символом ⚡️ добавляется после включения HiDPI. Если у вас есть 24-дюймовый монитор 2K, как у меня, вы можете выбрать его. 1920x1080⚡️ Та конфигурация.
Он больше и четче, чем пользовательский интерфейс и шрифты с собственным разрешением?
DPI (dots per inch) — это величина, говорящая, сколько пикселей экрана приходится физический сантиметр его площади. Если монитор работает в неродном разрешении, то речь идёт о виртуальных пикселях разрешения. С античных времён и до совсем недавно, величина в 96 DPI была стандартом — то есть, обычные мониторы если и отличались от неё, то настолько, что этим можно было пренебречь. 120 DPI когда-то была максимальной величиной, которую обычно тестировали.
Не удивительно, что за столько лет разработчики программ приняли эту величину за незыблемую постоянную. Вдруг пришли мониторы с 160-192 DPI и началось. Все программы, которые хоть какой-то размер в интерфейсе задавали в пикселях, получили наезжающие друг на друга панели, подписи, обрезанные до первой буквы, и кнопки, за успешное нажатие которых надо давать денежный приз.
Словом HiDPI называют ситуацию на мониторах с DPI>160. DPI операционной системы не обязательно равна DPI экрана. Напротив, DPI системы можно крутить для того, чтобы делать интерфейс крупнее-мельче. Мало того, системы различают DPI всего, DPI шрифтов и DPI, отдаваемую полноэкранным приложениям.
А как у других?
Макось выручило её авторитарное правление. Поскольку почти все программы создают свой интерфейс через одно и то же API, его просто поправили, и получилось сразу хорошо. Отдельные неистребимые косяки только подчёркивают, насколько в целом всё хорошо.
Android родился на системах с большим разбросом DPI, поэтому умел всё с самых пелёнок, и учебники для программистов это всё учитывали.
Windows позволяло крутить DPI шрифтов всегда. Вот только DPI графики от этого не менялась. Отдельные элементы меняли размер оттого, что привязаны к размеру шрифта, или экрана. Но размеры, заданные в пикселях, от этого не сдвигались. В Win 10, наконец, появилась нормальная поддержка HiDPI, но только для программ, написанных для Win 10. Для остальных написан костыль, делающий просто графическое увеличение окна программы с трансляцией положения кликов. Увеличение делает окно размытым, а трансляция работает криво. Хуже то, что это увеличение пробует запуститься для полноэкранных приложений тоже, поэтому, чтобы поиграть, его нужно выключить, а чтобы поработать — включить.
А в Linux?
А в Linux, как всегда, вакханалия. У нас есть два мажорных набора для GUI (Qt и GTK), каждый из которых относительно недавно пережил переписывание с нуля, поэтому до сих пор в ходу старая и новая версия. Плюс несколько наборов поменьше(EFL, wxWidgets). Плюс несколько языков, которые используют для этого свои средства, например Java. Плюс несколько древних библиотек, на которых уже никто не пишет, но нужный софт на них ещё бывает. (GTK 1, Motif) Даже если X сервер и оконный менеджер правильно обрабатывают DPI, не факт, что весь этот зоопарк воспримет эту информацию и будет работать нормально.
Можно много за что не любить Ubuntu с Unity, но одну вещь я должен сказать. Я не знаю, как в Unity настраивать HiDPI потому, что всё всегда работало само из коробки. Все остальные DE: Cinnamon, KDE, XFCE, тоже имеют соответствующий флажок. Этот флажок настраивает саму DE, приложения, написанные на её главной библиотеке(только новой версии) и пару флагов для Qt/GTK. А остальное всё побоку. В результате, например, в плеерах кнопка Play остаётся крошечной. И значки в трее маленькие, но не все. Годик за такой системой — и человек в Overwatch играет только за МакКряка, потому что у человека попиксельная меткость на мышке и он всех ненавидит.
Я буду рассказывать, как настроить KDE. Не так, как по инструкции, а так, чтобы работало всё. Deadbeef, Yakuake, Blender. Я проверял это, в основном, в Арче. В других дистрибутивах может быть, что что-то из того, что я опишу, уже сделано или сделано по-другому. Думайте головой или пишите в комментариях — разберёмся.
Настройка Иксов
Первым делом нужно проверить, а знают ли Иксы, что у нас HiDPI? Для этого нам нужна софтинка xdpyinfo — она есть в репе. Установите, если не установлено, родное разрешение монитора, (и перезапустите Иксы). Запускайте в консоли внутри иксов (то есть не по Ctrl-Alt-F*).
Видим три пары значений — разрешение экрана, реальные размеры экрана, и DPI (отдельно по вертикали и горизонтали) Если все три пары похожи на правду, то отвернитесь от монитора и воздайте хвалу высшей сущности по вашему выбору; ибо если же xdpyinfo возвращает ерунду и DPI=96, значит ваша высшая сущность посылает вам мытарства.
Самые частые причины неправильной DPI — кривые EDID и фирменные дрова видеокарты. Про видеокарты ATi не скажу ничего, так как сторонюсь их. Не то, чтобы они чем-то плохи, но ATi + Linux = лишние проблемы. C Intel всё само должно работать. NVidia же до недавнего времени упорно поганила DPI. Сначала отключите G-sync в nvidia-settings , всё равно никакой композитный менеджер с ним не дружит. Если не помогло, включите KMS. Kernel Mode Setting — это метод, по которому разрешением экрана заведует ядро Linux, а не Иксы. Кроме прямого назначения, это позволяет обойти много глючного кода 20-летней давности в Иксах. К сожалению, процедура включения KMS на фирменных драйверах Nvidia дистрибутивозависима, поэтому опишу только в общих чертах. Нужно добавить модули nvidia, nvidia_modeset, nvidia_uvm, nvidia_drm в initramfs, пересобрать его, а затем добавить ядру параметр nvidia-drm.modeset=1 . Гуглите.
Если в предыдущем абзаце вы ничего не поняли, то можно просто отказаться от фирменных дров NVidia и использовать пока что Nouveau — там KMS из коробки. В Кубунте это делается через программу, управляющую драйверами.
Если всё вышеописанное не помогло и xdpyinfo по прежнему пишет фигню, то, может быть, виноваты не драйверы видео, а кривые EDID монитора. Сначала запустите в той же консоли xrandr --dpi 192 . И запустите какую-нибудь программку. Если она стала больше, то способ работает. Вставляйте эту команду в .xprofile и перезапускайте Иксы. В дальнейшем я буду много говорить про .xprofile . Это файл в домашней папке каждого пользователя, который настраивает работу графических приложений. Если его нет — просто создайте его: touch
/.xprofile . Если всё заработало — Ура! Если нет, сначала проверьте, что в вашем дистрибутиве из KDE не вырезали поддержку .xprofile . Для чего добавьте туда что-то вроде touch
/net_ne_vyrezali и перезагрузите ещё раз.
Всё равно не работает? Пропишем DPI в Иксы вручную. Создайте, если уже нет, файл /etc/X11/xorg.conf.d/90-monitor.conf и в него напишите:
А для фирменных дров Nvidia
Обратите внимание, что везде принудительное значение DPI я ставлю в 192, точнее в любое значение, кратное 96. Оно работает точнее, чем реальная DPI, потому что гладиолус. Тут работает парадокс дизайнера:
- Если DPI кратна 96, лучше рендерятся шрифты в приложениях, работающих с текстом. Особенно в приложениях на Cairo.
- Если DPI равна настоящей DPI монитора, то масштаб 1:1 на экране будет иметь тот же размер, что и на бумаге.
Сохраняем, перезапускаем Иксы и ликуем. Или пьём горькую и ждём, когда Wayland доделают.
Настройка в KDE
Итак, наконец, настраиваем HiDPI в KDE правильно. В меню → System Settings → Display and Monitor в самом внизу есть большая кнопка Scale Display. По её нажатию вылезает окно с единственным слайдером Scale. Теперь внимание! Если вам так и не удалось настроить DPI в иксах, закрывайте эту статью, ставьте значение ползунка по вкусу, и радуйтесь тому, что работает. А что не работает — смиритесь (Это обычно Хром, Скайп, QtCreator, Yakuake, GTK).
Если же DPI в Иксах у вас правильная — то не трогайте этот ползунок! В идеале, даже, не крутите его туда-сюда, потому что, кажется, он где-то что-то пишет при этом. Закрывайте это окно нафиг. Согласно статье в блоге создателя этого ползунка (соль в комментах) он переопределяет системную DPI и ставит ещё несколько переменных. Проблема в том, что это переопределение видят не все программы, и получается каша. Поэтому мы не будет трогать ползунок, а всё настроим вручную.
Закрывайте окно Fonts. Вообще, сейчас самое время перезагрузить Иксы и посмотреть, что получилось. Должны работать и иметь удобный размер KDE, все его настройки и приложения. Панель плазмы, кстати, сама не вырастет. Но она векторная, и её всегда можно растянуть — кликните бутерброд слева и появятся кнопки. Так же размер в Долфине надо поставить вручную. Если же где-то ещё в KDE-приложениях кнопки и панели слишком мелкие, надо пошаманить размеры иконок в System Settings → Icons.
Настраиваем другие приложения
Chrome, Atom и другие
Эти приложения читают DPI напрямую из откуда получится и следуют ей как рыцарь кодексу. Если они читают что-то не то, то и выглядеть будут как-то не так. Обычно они игнорируют настройки в System Settings и следуют той DPI, которую возвращает xdpyinfo. Если там 96, то для Хрома можно использовать аргумент --force-device-scale-factor=2 , для Атома есть кривой плагин hidpi в официальной репе, для других программ свои костыли.
QtCreator, Yakuake, и другие приложения на Qt5
Вообще, они должны работать. Но у QtCreator бывает не масштабируется полоса инструментов, а у Yakuake полоса с табами. Причина в баге и в переменной окружения QT_AUTO_SCREEN_SCALE_FACTOR . Когда она равна 1 , Qt5 пытается сам найти значение DPI, а когда 0 — ждёт, что это значение ему дадут в других переменных. Баг в том, что KDE передаёт фигню.
Не забудьте, что переменная QT_DEVICE_PIXEL_RATIO устарела. Если вы её где-то ставили, то надо убрать.
Приложения на Qt4
Эти приложения, в общем, плохо умеют HiDPI. Но не всё потеряно. Qt4 создаёт очень гибкий интерфейс. Запускайте qtconfig-qt4 . Сначала смотрите шрифт и выставляйте удобный размер. Затем на вкладке Interface найдите костыль под названием «Global strut» (в переводе — глобальный костыль. ) Эта настройка означает, что инстансы QWidget и его потомков не могут быть меньше этого размера в пикселях, что бы с ними не делали. C помощью Minimum Width можно задать ширину скроллбаров, а с помощью Minimum Height — высоту панелей инструментов.
Приложения на GTK3
Здесь всё просто. Нужно установить в .xprofile две переменные:
GDK_SCALE=2 Командует GTK увеличить всё в 2 раза. Значение должно быть целым. GDK_DPI_SCALE регулирует увеличение шрифтов. Если после GDK_SCALE шрифты получились огромные, надо поставить GDK_DPI_SCALE=0.5
Приложения на GTK2
Здесь всё сложно. GTK2 вообще никак не умеет HiDPI. Но есть хак. Софтина под названием Oomox является генератором тем (скинов) для GTK. В том числе, с её помощью можно собрать такую тему под GTK2, которая будет имитировать HiDPI. Или найти такую тему готовую.
Приложения на Qt3, Gtk1, Motif
Здесь всё совсем сложно. Есть два возможных хака. Во-первых, можно воспользоваться способностью Kwin увеличивать весь экран. System Settings → Desktop Effects → Desktop Effects → Zoom. Средняя кнопка слева — это настройки, в том числе клавиши для включения и выключения. Второй способ — это запустить приложение в сервере удалённого рабочего стола и локально к нему подключиться. Я просто вставлю ссылку на скрипт, потому что настраивать это — вопрос отдельной статьи.
Приложение InDesign поддерживает определение высокого разрешения в точках на дюйм (HiDPI). В этом приложении определяются различные значения, заданные для разрешения в точках на дюйм (DPI) на уровне монитора, а также распознаются динамические изменения этих значений. Высокое качество отображения элементов пользовательского интерфейса сохраняется в широком диапазоне значений разрешения дисплея в точках на дюйм. Поддержка определения разрешения в точках на дюйм в InDesign обеспечивает предсказуемое состояние пользовательского интерфейса при отображении с высоким разрешением, а также четкое и резкое отображение элементов пользовательского интерфейса и их привлекательный вид при разнообразных значениях коэффициента масштабирования.
Список поддерживаемых платформой Windows функций, относящихся к высокому разрешению в точках на дюйм.
Функция
Windows XP
Windows Vista
Windows 7
Windows 8
Windows 8.1
Настройка разрешения в точках на дюйм на панели управления
Виртуализация разрешения в точках на дюйм для приложений, не поддерживающих определение разрешения в точках на дюйм
Виртуализация разрешения в точках на дюйм для приложений, поддерживающих определение разрешения в точках на дюйм на уровне системы
Интерфейс программирования приложений, позволяющий объявить поддержку определения разрешения в точках на дюйм
Интерфейсы программирования приложений для извлечения показателей и разрешения в точках на дюйм на уровне системы
Интерфейсы программирования приложений для извлечения разрешения в точках на дюйм на уровне монитора
Для изменения разрешения в точках на дюйм на уровне монитора необходим перезапуск / выход из системы
Для изменения разрешения в точках на дюйм на уровне системы необходим перезапуск/выход из системы
Начать с начала
Начать с начала
Задание разрешения в точках на дюйм для отдельных пользователей
Автоматическая настройка разрешения в точках на дюйм при первом входе в систему
Автоматическая настройка разрешения в точках на дюйм при каждом входе в систему
Задание разрешения в точках на дюйм для отдельных мониторов
Учет расстояния от зрителя до экрана при вычислении разрешения в точках на дюйм по умолчанию
При первом входе в систему средствами Windows вычисляется значение разрешения в точках на дюйм на уровне системы по умолчанию, обеспечивающее наилучшее зрительное восприятие на данном оборудовании. На панели управления можно изменить разрешение в точках на дюйм на уровне системы по умолчанию, увеличив или уменьшив элементы пользовательского интерфейса.
Для изменения заданного разрешения в точках на дюйм в Windows 7 и Windows 8 выполните следующие действия.
Изменение заданного разрешения в точках на дюйм в Windows 7 и Windows 8
Откройте панель управления, выберите «Оформление и персонализация», затем «Экран».
В разделе «Экран» выполните одно из следующих действий.
- Для увеличения шрифта текста и других элементов на экране выберите «Средний — 125%» или «Крупный — 150%», затем нажмите «ОК».
- Для уменьшения шрифта текста и других элементов на экране выберите «Мелкий — 100% (по умолчанию)», затем нажмите «ОК».
Для просмотра изменений завершите работу всех программ и выйдите из системы.
Для задания пользовательского разрешения в точках на дюйм в Windows 7 и Windows 8 выполните следующие действия.
Откройте панель управления, выберите «Оформление и персонализация», затем «Экран».
На странице «Экран» выберите «Другой размер шрифта (точек на дюйм)».
В диалоговом окне «Выбор масштаба» в списке «Масштаб от обычного размера» введите требуемое процентное значение, затем нажмите «ОК». В данном случае процентное значение 150% от значения по умолчанию 96 точек на дюйм составляет 144 точки на дюйм. Обратите внимание на флажок «Использовать масштабы в стиле Windows XP». Если этот флажок установлен, виртуализация разрешения в точках на дюйм отключена.
Для просмотра изменений завершите работу всех программ, затем выйдите из системы и снова войдите в нее.
Изменение разрешения в точках на дюйм в Windows 8.1
В зависимости от того, снят или установлен флажок «Я хочу выбрать один масштаб для всех дисплеев», применяется соответственно режим масштабирования Windows 8 или Windows 8.1.
- Режим Windows 8: в приложениях для настольных компьютеров, не поддерживающих определение разрешения в точках на дюйм, применяется масштабирование в соответствии с разрешением основного монитора в точках на дюйм. Пользователи могут изменить этот коэффициент масштабирования на уровне системы с помощью переключателя или путем ввода нестандартного значения.
- Режим Windows 8.1: в приложениях для настольных компьютеров, не поддерживающих определение разрешения в точках на дюйм, применяется масштабирование в соответствии с разрешением каждого отдельного монитора в точках на дюйм. Пользователи могут внести дополнительную корректировку путем переопределения масштабирования на настольном компьютере.
Если флажок «Разрешить Windows управлять параметрами экрана» снят, включен режим Windows 8. На панели управления отображается переключатель Windows 8 для применения коэффициента масштабирования на уровне системы. В этом случае масштабирование мониторов по отдельности невозможно.
Если флажок «Разрешить Windows управлять параметрами экрана» установлен, включен режим Windows 8.1, предусматривающий масштабирование мониторов по отдельности, и переключатель на панели управления заменен регулятором «Мелкий»/«Крупный». Этот регулятор позволяет переопределить масштабирование для настольного компьютера. Набор значений, задаваемый с помощью регулятора, зависит от диапазона устойчивых значений разрешения в точках на дюйм для данной конфигурации компьютера.
При применении нового значения, переопределяющего масштабирование для настольного компьютера, масштабирование каждого монитора увеличивается или уменьшается в соответствии с новым значением, если это возможно. Если для монитора уже задано минимальное (96 точек на дюйм = 100%) или максимальное (192 точек на дюйм = 200%) масштабирование, переопределение не применяется к этому монитору. Если увеличение масштаба для монитора привело бы к тому, что его виртуальные размеры стали бы меньше минимального разрешения 1024x720, переопределение не применяется.
При перемещении регулятора «Мелкий»/«Крупный» и нажатии кнопки «Применить» изменение масштаба сразу вступают в силу. Это изменение масштаба растровых изображений применяется ко всем приложениям. В приложениях, не поддерживающих определение разрешения в точках на дюйм, изображение может быть частично размыто до следующего входа, когда значение разрешения считывается заново и обеспечивает правильную визуализацию.
Для задания в Windows 8.1 пользовательского разрешения в точках на дюйм с масштабированием каждого монитора по отдельности выполните следующие действия.
Тем, кому нравится продукция Apple и математика, сайт TUAW предлагает в цифрах увидеть особенности «яблочных» продуктов – оборудования и программного обеспечения.
Сейчас все говорят о дисплеях Retina, переживая по поводу того, что они не могут появиться в Mac, и предвкушая их появление в iPad 3 (в чем мы убедимся 7 марта почти наверняка). Есть одна мысль, высказанная разработчиком Bjango Марком Эдвардсом (Marc Edwards) в Твиттере: «Количество пикселей в Retina 27-дюймового дисплея с Thunderbolt составляет 5120×2880 = 14745600 пикселей. С разрешением 4K: 4096×2160 = 8847360 пикселей. Retina в iPad 3: 2048×1536 = 3145728 пикселей». Расчеты заставляют задуматься – что может означать появление дисплея Retina в Mac? Если Эдвардс прав – неужели в дисплее с Retina и Thunderbolt действительно почти 15 мегапикселей?
Может быть, дело только в маркетинге?
Что вообще означает термин «Retina Display»? Его придумала Apple, дав следующее определение:
«Плотность пикселей дисплея Retina настолько высока, что человеческий глаз не может различить отдельные пиксели».
Определение имеет смысл и является продуманным маркетинговым ходом, но только ли?
Фактически данную технологию использует не только Apple. Экраны с высокой плотностью пикселей на дюйм начинают появляться в других устройствах – к примеру, в Android-планшете от Asus. Точный термин «Retina display» может принадлежать только Apple, но преимущества экранов с высоким разрешением купертиновцам принадлежать не могут. Так как это новая тенденция для отрасли в целом, нужно немало постараться, чтобы стряхнуть с себя «маркетинговую пыль» и попытаться объективно взглянуть на технологию.
Определение «Retina Display»
Что может означать фраза о том, что отдельные пиксели на экране неотличимы? Безусловно, выход iPhone 4 и первого дисплея Retina был большим скачком в увеличении разрешения: оно выросло с 480×320 до 960×640 (то есть с 163 пикселей на дюйм до 326 пикселей на дюйм (ПНД)). Таким образом, люди понимают, что отличительная черта дисплея Retina – это плотность 326 ПНД, или 300 ПНД. Последнее число считается общепринятым эмпирическим исходным уровнем в полиграфической отрасли для «фото-разрешения».
Однако все не так просто.
Посмотрите на текст, напечатанный мелким шрифтом, с расстояния вытянутой руки. Обратите внимание, как трудно его читать. Теперь приблизьте текст к лицу и посмотрите на него с расстояния в несколько сантиметров от вашего носа. Обратите внимание, насколько легче сейчас стало его читать. Становится ясно, что определение Apple термина «Retina Display» как «дисплея с неразличимыми пикселями» требует уточнения – каким именно должно быть расстояние от экрана до глаз пользователя для каждого конкретного устройства. Разница есть – iMac стоит на столе, MacBook – на столе/коленях и пр., iPhone мы держим в руках, причем каждый из нас – на разном удалении от глаз.
Итак, каким должен быть размер маленького пикселя, чтобы его можно было считать невидимым? Начинается математика (точнее, геометрия) – нам нужно подумать о том, под каким углом мы смотрим на экран.
Угол обзора в данной диаграмме (угол а) – это угол, зависящий от межпиксельного расстояния (s). При уменьшении этого расстояния величина угла также уменьшается. Точно так же размер объекта зависит от расстояния, с которого он рассматривается – угол обзора будет меняться в зависимости от изменения расстояния от объекта до глаз наблюдателя. Объекты более крупного размера хорошо видны и под большим углом. Размер изображения на сетчатке неразрывно связан с размерами объекта и расстоянием до него, и вычисляется по следующей формуле:
Что же получается – угол обзора слишком мал, чтобы его увидеть? Среднестатистический человек имеет зрение 20/20 – это исторически определялось умением читать буквы на стандартной таблице проверки зрения под углом 5 минут дуги (1 минута дуги, аркминута – это 1/60-тая часть градуса). Что это может означать в переводе на пиксели? Одними из самых мелких шрифтов считаются Tinyfont, созданный Кеном Перлином (Ken Perlin), и Tiny от Мэтью Уэлча (Matthew Welch), и высота их букв составляет всего 5 пикселей (вместе с подстрочными элементами в Tiny). Это означает, что наименьший для среднего глаза угол составляет одну минуту дуги. На самом деле, одна аркминута является общепринятым в ученом мире пределом разрешения для сетчатки типичного человеческого глаза.
Retina в существующих дисплеях Apple
Можно продолжить вычисления – взять некоторые типичные расстояния просмотра для различных устройств Apple, объединить их с размерами экранов и их разрешением, и рассчитать насколько дисплей соответствует определению Retina, указанному выше.
Google любезно предоставляет таблицу с подробной информацией о том, как эти данные рассчитываются. Просто для интереса возьмем для сравнения парочку «не яблочных» устройств – 50-дюймовый телевизор, на который будем смотреть с расстояния шести футов (примерно 1,8 метра) и проигрывать диски BluRay и DVD; а также планшет Asus Transformer Prime Android с разрешением дисплея 1920×1200.
Таблица показывает удивительные вещи: во-первых, становится ясно, что определение, данное Apple в отношении Retina-дисплея, довольно близко соотносится с данным выше математическим определением. Экран iPhone 4, на который обычно смотрят с расстояния 11 дюймов (28 сантиметров), предлагает характеристики, очень близкие к порогу Retina – значит, методика расчетов правильная.
Расчеты также показывают, что дисплеи многих современных Mac намного ближе к показателям Retina, чем может показаться на первый взгляд. Экран 27-дюймового iMac на расстоянии 28 дюймов (примерно 70 см), 17-дюймового MacBook Pro на расстоянии 26 дюймов от глаз (66 см) и экран 11-дюймового MacBook Air с расстояния 22 дюйма (56 см) – все эти экраны имеют достаточно мелкие пиксели, чтобы быть на пороге невидимости.
Кроме того, дисплей iPhone с разрешением 480×320 выглядит заметно хуже на фоне остальных продуктов, созданных Apple на сегодняшний день (его плотность составляет всего 53% плотности пикселей Retina-дисплея). Даже разрешение iPad (1024×768), которым многие недовольны, дает в расчетах лучший показатель – 61%. Анализ самого «плохого» дисплея Mac (24-дюймовый экран iMac на расстоянии 28 дюймов) показывает, что величина его пикселей на треть превышает тот самый порог невидимости.
Наконец, расчеты дают понять, почему изображение BluRay выглядит так хорошо. На больших телевизорах при маленьком удалении от экрана (диагональ – 50 дюймов, удаление – 15 см) картинка формата 1080p показывает 92% уровня Retina – при том, что формат DVD демонстрирует всего лишь 36%.
Здесь нужно учесть два очень важных момента.
Во-первых, для того, чтобы достичь или даже превысить желанный порог невидимости пикселей дисплея Retina, Apple не нужно удваивать разрешение большинства своих дисплеев. Отнюдь нет – достаточно увеличить плотность пикселей 27-дюймового Thunderbolt Display с 2560×1440 до примерно 2912×1638.
Второй момент заключается в том, что люди должны понять, что им не стоит обольщаться по поводу того, что Retina-дисплей в Mac будет намного лучше существующих предложений. Выход iPhone 4 стал огромным шагом вперед после выхода iPhone 3GS главным образом потому, что экран 3GS был довольно убогим (по сегодняшним меркам). Существующие модели Mac имеют намного лучшие экраны, поэтому в сильных улучшениях они нуждаться не будут.
За пределами аркминут
Исходя из вышеизложенного, можно подумать, что у Apple вряд ли есть основания вообще что-либо менять, так как преимущества экранов с высоким разрешением на деле оказываются довольно скромными. Но формат HiDPI существует, и есть специально созданные экраны с плотностью от 508 до 750 пикселей на дюйм, используемые в медицинской отрасли.
Ответ заключается в том, что наше определение пределов человеческого зрения (детали, которые видны под углом минутной дуги) слишком примитивное. Нужно учесть намного больше, рассматривая вопрос взаимодействия реального человеческого зрения с технологией компьютерного дисплея – в том числе, атипичные расстояния просмотра, различные виды изображений и так далее. Например, читать слова можно гораздо меньших размеров, так как наш мозг имеет дополнительные преимущества в их угадывании. Мозг человеческий представляет собой хороший инструмент для распознавания различных шаблонов, и он будет использовать информацию из окружающей среды, чтобы интерпретировать детали, которые глаз не может четко разобрать.
На рисунке – несколько шаблонов, которые вы можете проверить на собственном дисплее. Если хотите попробовать сделать это на экране iOS-устройства, необходимо получить соответствующий файл (для iPhone или iPad) и сохранить его в Camera Roll. Это нужно потому, что iOS будет любезно пытаться масштабировать и панорамировать изображение, а мы хотим, чтобы один пиксель изображения занимал один пиксель на экране. После того, как получите файл в Camera Roll, просмотрите картинку на полном экране через приложение Photos, расположив изображение в портретном режиме. Если вы начнете сравнивать, как она выглядит на экране Mac, iPad или iPhone, вы увидите разницу возможностей экранов.
Аргументы в пользу удвоения пикселей
Рене Ричи (Rene Ritchie) на сайте iMore приводит веский аргумент в пользу того, что разрешение дисплея iPad должно быть именно удвоено (то есть стать 2048×1536 пикселей, а не каким-либо промежуточным значением, как в случае с iPhone 4). Промежуточное значение означает, что каждое существующее приложение должно или каждый раз повторно масштабироваться (и изображение будет нечетким), или будет иметь отличные от экрана размеры. Все объясняется тем, что каждое существующее iPad-приложение жестко закодировано под запуск на полном экране с разрешением 1024×768.
Немного по-другому дела обстоят у пользователей десктопов. Плотность существующих десктоповых дисплеев Аpple находится в пределах между 92 и 133 пикселями на дюйм. Пользователи более терпимы к изменению размеров элементов пользовательского интерфейса (конечно, в пределах разумного).
Рассмотрим 27-дюймовый дисплей с Thunderbolt, с плотностью 109 ПНД и разрешением 2560×1440 пикселей, и предположим, что Apple захочет подогнать его под характеристики Retina. Разрешение может быть увеличено до 4192×2358 пикселей (плотность при этом составит 178 ПНД), такой дисплей будет лучше, чем дисплей в iPhone 4. Пикселей будет на треть меньше, чем при нативном удвоении разрешения (5120×2880). Элементы пользовательского интерфейса будут выглядеть пропорционально больше, но не больше, чем на экране сегодняшнего 24-дюймового iMac, поэтому не будут казаться нечеткими или неуклюжими.
Заключение
Вот несколько вещей, в которых нас пытались убедить авторы сайта TUAW:
Читайте также: