TL;DR: 3840?2160@43 Гц, 3200?1800@60 Гц, 2560?1440@86 Гц на Intel HD 3000 Sandy Bridge; 3840?2160@52 Гц на Intel Iris 5100 Haswell.
Предыстория
Давным-давно, когда все мониторы были большими и кинескопными, компьютеры использовали фиксированные разрешения и тайминги для вывода изображения на экран. Тайминги были описаны в стандарте Display Monitor Timings (DMT), и не существовало универсального метода расчета таймингов для использования нестандартного разрешения. Мониторы отправляли компьютеру информацию о себе через специальный протокол Extended display identification data (EDID), который содержал DMT-таблицу с поддерживаемыми режимами. Шло время, мониторам стало не хватать разрешений из DMT. В 1999 году VESA представляет Generalized Timing Formula (GTF) — универсальный способ расчета таймингов для любого разрешения (с определенной точностью). Всего через 3 года, в 2002 году, его заменил стандарт Coordinated Video Timings (CVT), в котором описывается способ чуть более точного рассчитывания таймингов.
Оба стандарта были созданы с учетом особенностей хода луча в электро-лучевой трубке, вводились специальные задержки для того, чтобы магнитное поле успело измениться. Жидкокристаллические мониторы, напротив, таких задержек не требуют, поэтому для них был разработан стандарт CVT Reduced Blanking (CVT-R или CVT-RB), который является копией CVT без задержек для CRT, что позволило значительно снизить требуемую пропускную способность интерфейса. В 2013 году вышло обновление CVT-R c индексом v2, но, к сожалению, открытого описания стандарта в интернете нет, а сама VESA продает его за $350.
История
Наконец-то настала эра высокой плотности пикселей и на ПК. На протяжении последних нескольких лет, нас встречал театр абсурда, когда на мобильные устройства ставят пятидюймовые матрицы с разрешением 1920?1080, полки магазинов уставлены большими 4K-телевизорами (хоть на них и смотрят с расстояния 2-4 метров), а мониторы как были, так и оставались с пикселями с кулак. Подавляющее большинство говорит, что Full HD выглядит «достаточно хорошо» и на 27" мониторе, забывая, что предыдущее «достаточно хорошо» чрезвычайно быстро ушло после выхода iPad с Retina. Вероятнее всего, такая стагнация произошла из-за плохой поддержки высокой плотности пикселей в Windows, которая более-менее устаканилась только к выходу Windows 8.1.
Как бы то ни было, в 2015 году у нас есть выбор из 246 моделей 4K UHD-телевизоров и аж 36 моделей мониторов, одну из которых — Dell P2415Q — мне посчастливилось купить за сравнительно небольшие деньги (€377). Это 23.8-дюймовая модель с разрешением 3840?2160 и плотностью пикселей в 185 PPI, с возможностью подключения по DisplayPort 1.2 и HDMI 1.4. Первые 4K-мониторы определялись в системе как два отдельных монитора и комбинировались в один большой средствами драйвера видеокарты. Это было сделано из-за низкой производительности скейлеров, которые в то время не могли работать в полном разрешении, поэтому приходилось ставить два скейлера, каждый из которых выводил 1920?2160. Современные мониторы избавились от такого костыля, но, в то же время, стали требовать более производительные видеоадаптеры. К сожалению, мой уже сравнительно старый лаптоп Lenovo ThinkPad X220 не поддерживает, судя по информации на сайте Intel и от производителя, разрешения выше 2560?1440. Можно ли с этим что-то сделать? Как оказалось, можно.
Стандартные и нестандартные стандарты
Современным мониторам и видеокартам нет никакого дела до фиксированных разрешений и таймингов времен DMT, они могут работать в широком диапазоне разрешений и частот обновления. Давайте посмотрим в техпаспорт моего монитора:
Поддерживаемая горизонтальная частота развертки | 31-140 кГц |
Поддерживаемая вертикальная частота развертки | 29-76 Гц |
Режим | Частота горизонтальной развертки | Частота вертикальной развертки | Частота пикселизации | Полярность синхронизации |
---|---|---|---|---|
VESA, 3840?2160 | 133.3 кГц | 60.0 Гц | 533.25 МГц | H+/V- |
Дело в частоте пикселизации. Многие видеокарты, а тем более интегрированное в процессор видео, имеют железные ограничения частоты пикселизации, а из-за того, что в EDID монитора нет максимального разрешения с меньшей частотой вертикальной развертки вследствие ограниченности его размера, компьютер не может использовать максимальное разрешение.
К сожалению, производители редко публикуют максимальную частоту пикселизации видеочипов, ограничиваясь максимальным поддерживаемым разрешением, но для интересующих меня карт я нашел необходимую информацию:
Intel HD 3000 (Sandy Bridge): 389 кГц
Haswell ULT (-U): 450 кГц
Haswell ULX (-Y): 337 кГц
Что делать и что сделать?
Ответ очевиден — нужно уменьшить частоту пикселизации! Ее уменьшение приведет и к уменьшению частоты обновления монитора. Как нам это сделать? Нам нужно сгенерировать так называемый modeline — информацию о таймингах для видеокарты и монитора. В сети можно найти множество генераторов modeline, но большинство из них безнадежно устарели и ничего не знают о стандарте CVT-R, который мы и будем использовать. Я рекомендую вам воспользоваться umc под Linux, PowerStrip под Windows и SwitchResX под Mac OS. К слову, SwitchResX — единственная программа, которая может рассчитывать modeline по стандарту CVT-R2, но мой монитор его не поддерживает.
Modeline содержит следующую структуру:
Modeline "modeline_name" dot_clock hdisp hsyncstart hsyncend htotal vdisp vsyncstart vsyncend vtotal flags
Посмотрите на таблицу выше: минимальная вертикальная частота обновления моего монитора может равняться 29 Гц.
Давайте сгенерируем modeline для разрешения 3840?2160 с частотой обновления в 30 Гц:
% umc 3840 2160 30 --rbt
# 3840x2160x29.98 @ 65.688kHz
Modeline "3840x2160x29.98" 262.750000 3840 3888 3920 4000 2160 2163 2167 2191 +HSync -VSync
Как видим, частота пикселизации с данным режимом будет установлена в 262.75 МГц, что далеко от ограничений моего видеоадаптера.
Давайте попробуем установить и активировать наш режим:
% xrandr --newmode "3840x2160x29.98" 262.750000 3840 3888 3920 4000 2160 2163 2167 2191 +HSync -VSync
% xrandr --addmode DP1 "3840x2160x29.98"
% xrandr --output DP1 --mode "3840x2160x29.98"
Если все прошло удачно, вы увидите картинку в «неподдерживаемом» вашей картой разрешении на мониторе. Ура!
У нас все еще есть большой запас по частоте пикселизации, да и вряд ли кому-то будет комфортно использовать монитор с частотой обновления в 30 Гц, поэтому мы будем увеличивать ее до тех пор, пока частота пикселизации не приблизится к значению в 389 МГц — пределу моего видеоадаптера. Путем нехитрых манипуляций удалось установить, что при такой частоте мы получаем вертикальную развертку в 44.1 Гц.
# 3840x2160x44.10 @ 97.250kHz
Modeline "3840x2160x44.10" 389.000000 3840 3888 3920 4000 2160 2163 2167 2205 +HSync -VSync
Не блеск, но жить можно!
Как можно заметить, частота горизонтальной развертки — 95 кГц — вполне в диапазоне поддерживаемых монитором. Как в случае с вертикальной разверткой, так и в случае с разрешением, монитору нет дела до конкретных режимов, поэтому мы можем использовать 3200?1800 при 60 Гц — еще не такое низкое разрешение, как 2560?1440, и с привычной частотой обновления.
% umc 3200 1800 60 --rbt
# 3200x1800x59.98 @ 111.086kHz
Modeline "3200x1800x59.98" 373.250000 3200 3248 3280 3360 1800 1803 1807 1852 +HSync -VSync
Чтобы наши изменения сразу применялись после перезагрузки, можно пойти двумя различными путями:
- Отредактировать EDID монитора и указывать его драйверу
- Добавить modeline в настройки Xorg
Второй способ удобнее и гибче, поэтому я использую его. Если вы решили пойти первым способом, то Phoenix EDID Designer вам в руки.
Для второго способа достаточно создать файл с Xorg-секцией «Monitor» и поместить его в
/etc/X11/xorg.conf.d/
:% cat /etc/X11/xorg.conf.d/30-dp1.conf
Section "Monitor"
Identifier "DP1"
ModelName "DELL P2415Q"
Modeline "3200x1800" 373.250000 3200 3248 3280 3360 1800 1803 1807 1852 +HSync -VSync
Modeline "3840x2160" 370.000000 3840 3888 3920 4000 2160 2163 2167 2203 +HSync -VSync
Option "PreferredMode" "3200x1800"
EndSection
Где Identifier — название вашего видеовыхода согласно xrandr. Опцией «PreferredMode» можно задать режим, который будет выбран по умолчанию.
У меня не получается!
Убедитесь, что вы подключаете монитор через DisplayPort 1.2. HDMI 1.4 не позволяет использовать частоту пикселизации выше 340 МГц, в то время как для DisplayPort (HBR2) верхнее ограничение равно 540 МГц. Также удостоверьтесь, что ваш монитор поддерживает частоту обновления выше 30 Гц на максимальном разрешении, т.к. ранние модели этим грешили.
Заключение
Не стоит слепо верить технической документации на монитор. В ходе исследований оказалось, что ограничение по вертикальной частоте аж 86 Гц, вместо 76 Гц по заявлению производителя. Таким образом, я могу наслаждаться плавной картинкой, хоть и в не в самом высоком разрешении
Комментарии (29)
AxisPod
15.05.2015 08:14-7Деньги на 4к моник есть, а на видяху нет? Учитывая, что потянет к примеру Geforce GT 720, которая стоит аж 2.5 тысячи рублей, как неимоверно дорого.
И опять же что за бред про вертикальную частоту, вы из каменного века выпрыгнули? Вы разницы 60Гц и 86Гц даже и не заметите, единственная разница будет, так это в мелком размытии динамических объектов, тут нужен глаз алмаз. А вот на плавности вообще не скажется. А уж болезни ЭЛТ мониторов с мерцанием изображения тут нет.gibson_dev
15.05.2015 09:06+3Вы про видяху ноутбуку скажите, понятно что для десктопа все решаемо проще
ValdikSS Автор
15.05.2015 09:46+2Деньги на 4к моник есть, а на видяху нет?
Так я и видеокарту купил, но для десктопа. SAPPHIRE ULTIMATE R7 250 1GB GDDR5
Учитывая, что потянет к примеру Geforce GT 720
Там нет DisplayPort. Вы же не хотите, чтобы я, как человек из каменного века выпрыгнувший, использовал 3840?2160 при 30 Гц?
Вы разницы 60Гц и 86Гц даже и не заметите
Мне так же говорили про плотность пикселей и про 10-битный цвет. Разница между 60 и 85 Гц видна невооруженным глазом, правда, не могу сказать насчет конкретно этого монитора, быть может, он отбрасывает кадры (я просто пытался установить высокую частоту кадров, даже не смотрел, реальная ли она), но на «геймерских» мониторах, которые могут работать и на 120 Гц, разница колоссальная. Хотя да, соглашусь, что повышенная частота обновления нужна довольно редко, разве что для игр и, может быть, ускоренного видео.AxisPod
15.05.2015 10:23Ок, погорячился про видяху. Но вот понимаете, у меня есть 120Гц моник (игровой), разница в 60Гц и 120Гц настолько мизерная, что лишь объекты слегка чётче в движении и не более (а вот железо надо куда как мощнее), но с другой стороны от этого глаза только сильнее устают, нагрузка на обработку изображения повышается, голова устаёт быстрее. У меня есть ТВ, со 120Гц матрицей, 120Гц картинку выдать способен, тоже разницы почти не заметно. На деле тут куда большее влияние оказывает частота ШИМ у подсветки. Вот это да. 10битный цвет нужен разве что дизайнерам, и в динамике заметить разницу думается невозможно.
А вот разница межу 30Гц и 60Гц естественно колосальная.ragequit
15.05.2015 10:56-7настолько мизерная, что лишь объекты слегка чётче в движении и не более
Во время замеса в доте, или раша на B на Dust II в CS:GO, распознавание этих мельчайших пикселей движения рук саппорта на каст, когда у тебя экран горит от нюков, или движение головы противника в нычке за ящиком может решить исход матча.neochapay
15.05.2015 12:34+3Это ты сейчас на каком языке сказал?
kindacute
15.05.2015 13:04+7перевод:
Во время сражения в MOBa игре Dota II, или быстрой атаки на точку установки бомбы Б на карте de_dust2 в онлайн шутере Counter Strige Go, распознавание этих мельчайших пикселей движения рук героя поддержки на произношение заклинания, когда у тебя на экране очень много взрывов, эффектов от анимации заклинаний или движение головы противника в укромном месте за ящиком может решить исход матча.
Но все равно страдает синтаксис)
ragequit
15.05.2015 18:47На русском. Тут упоминались геймерские мониторы, а оказалось, что больше хейтеров геймеров, чем самих геймеров. :(
neochapay
15.05.2015 18:59ну допустим, слишком много терминов которые на техническом, а не геймерском, ресурсе мало кто поймёт, во вторых большие мониторы необязательно геймерские например при редактировании аудио-видео они очень помогают
Mario_Z
18.05.2015 14:02Во время путешествия по джунглям тяжело разглядеть жесты проводника, особенно если вы и он накануне употребили приличный бочонок спиртного, когда вокруг пестрят растения всех оттенков зеленого, полно насекомых и внезапное нападения ягуара из кустов может решит исход вашего рейда в тыл противника.
evtomax
15.05.2015 13:14+1А частота обновления реальности бесконечна. Почему голова не взрывается от перегрузок? :-)
А 10 бит в мониторе очень полезны для цифрового изменения гаммы, цветовой температуры и прочих параметров. Это может пригодиться не только дизайнерам. При 8 битах при цифровой обработке изображения появляется эффект пастеризации.gene4000
15.05.2015 17:35+1Не совсем. Даже на обычном (элт) мониторе было заметно, что есть предел после которого улучшения не видно. Есть инерция в химических реакциях на свет внутри глаза. Для 17" элт монитора после 100 Гц уже разницу практическине видно.
Stalker_RED
15.05.2015 16:06Более того, заметна разница между 70Гц и 85Гц. А вот 85 и 100 лично я на глаз не отличаю.
palebluedot
15.05.2015 11:59Спасибо за статью! А где вы нашли информацию о частоте пикселизации?
ValdikSS Автор
15.05.2015 13:06О Haswell нашел на форуме Intel, а для Sandy Bridge она была вычислена эмпирическим путем.
palebluedot
15.05.2015 13:15В чем заключается этот эмпирический путь? Постепенно повышали, пока не начались проблемы?
amarao
17.05.2015 22:47У меня на x220 4k монитор на 30Гц через DP заработал с пол-пинка (xrandr'ом). Но 30Гц — это порнография. Требую 120Гц @ 5k.
AlexeyR
Спасибо, познавательно.
Может есть совет для моего случая? У меня imac 5k под windows 10. И хотя матрица 5к максимальное разрешение, которое можно выставить 3.8к. Можно ли что-либо аналогичное подшаманить?
ValdikSS Автор
Честно говоря, не знаю. Apple использовала специальный чип и двухканальное подключение в iMac 5k. Попробуйте сгенерировать modeline для разрешения 5120?2880 и применить его через PowerStrip, но, кажется мне, нужен специальный драйвер контроллера от Apple.