Засматриваетесь на 4K UHD-мониторы, но ваш лаптоп не поддерживает высокие разрешения? Купили монитор и миритесь с частотой обновления в 30Гц? Повремените с апгрейдом.

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 Гц по заявлению производителя. Таким образом, я могу наслаждаться плавной картинкой, хоть и в не в самом высоком разрешении

image

Комментарии (29)


  1. AlexeyR
    15.05.2015 01:13

    Спасибо, познавательно.
    Может есть совет для моего случая? У меня imac 5k под windows 10. И хотя матрица 5к максимальное разрешение, которое можно выставить 3.8к. Можно ли что-либо аналогичное подшаманить?


    1. ValdikSS Автор
      15.05.2015 01:23

      Честно говоря, не знаю. Apple использовала специальный чип и двухканальное подключение в iMac 5k. Попробуйте сгенерировать modeline для разрешения 5120?2880 и применить его через PowerStrip, но, кажется мне, нужен специальный драйвер контроллера от Apple.


  1. AxisPod
    15.05.2015 08:14
    -7

    Деньги на 4к моник есть, а на видяху нет? Учитывая, что потянет к примеру Geforce GT 720, которая стоит аж 2.5 тысячи рублей, как неимоверно дорого.

    И опять же что за бред про вертикальную частоту, вы из каменного века выпрыгнули? Вы разницы 60Гц и 86Гц даже и не заметите, единственная разница будет, так это в мелком размытии динамических объектов, тут нужен глаз алмаз. А вот на плавности вообще не скажется. А уж болезни ЭЛТ мониторов с мерцанием изображения тут нет.


    1. gibson_dev
      15.05.2015 09:06
      +3

      Вы про видяху ноутбуку скажите, понятно что для десктопа все решаемо проще


    1. kopch
      15.05.2015 09:09

      Речь про ноутбук.


    1. institor
      15.05.2015 09:42

      Я всегда буду обновлять комментарии…


      1. ValdikSS Автор
        15.05.2015 09:52
        +1

        Вообще, вкорячить можно, если захотеть. На моем лаптопе есть ExpressPort, люди подключают видеокарты через ExpressPort > PCIe 1x адаптер.

        image


    1. 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 Гц, разница колоссальная. Хотя да, соглашусь, что повышенная частота обновления нужна довольно редко, разве что для игр и, может быть, ускоренного видео.


      1. AxisPod
        15.05.2015 10:23

        Ок, погорячился про видяху. Но вот понимаете, у меня есть 120Гц моник (игровой), разница в 60Гц и 120Гц настолько мизерная, что лишь объекты слегка чётче в движении и не более (а вот железо надо куда как мощнее), но с другой стороны от этого глаза только сильнее устают, нагрузка на обработку изображения повышается, голова устаёт быстрее. У меня есть ТВ, со 120Гц матрицей, 120Гц картинку выдать способен, тоже разницы почти не заметно. На деле тут куда большее влияние оказывает частота ШИМ у подсветки. Вот это да. 10битный цвет нужен разве что дизайнерам, и в динамике заметить разницу думается невозможно.

        А вот разница межу 30Гц и 60Гц естественно колосальная.


        1. ragequit
          15.05.2015 10:56
          -7

          настолько мизерная, что лишь объекты слегка чётче в движении и не более


          Во время замеса в доте, или раша на B на Dust II в CS:GO, распознавание этих мельчайших пикселей движения рук саппорта на каст, когда у тебя экран горит от нюков, или движение головы противника в нычке за ящиком может решить исход матча.


          1. neochapay
            15.05.2015 12:34
            +3

            Это ты сейчас на каком языке сказал?


            1. kindacute
              15.05.2015 13:04
              +7

              перевод:
              Во время сражения в MOBa игре Dota II, или быстрой атаки на точку установки бомбы Б на карте de_dust2 в онлайн шутере Counter Strige Go, распознавание этих мельчайших пикселей движения рук героя поддержки на произношение заклинания, когда у тебя на экране очень много взрывов, эффектов от анимации заклинаний или движение головы противника в укромном месте за ящиком может решить исход матча.

              Но все равно страдает синтаксис)


              1. neochapay
                15.05.2015 13:16
                +1

                Во у вас архиватор… жуть :) Я пока ещё не всё понял…



            1. ragequit
              15.05.2015 18:47

              На русском. Тут упоминались геймерские мониторы, а оказалось, что больше хейтеров геймеров, чем самих геймеров. :(


              1. neochapay
                15.05.2015 18:59

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


                1. Mario_Z
                  18.05.2015 14:02

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


        1. evtomax
          15.05.2015 13:14
          +1

          А частота обновления реальности бесконечна. Почему голова не взрывается от перегрузок? :-)

          А 10 бит в мониторе очень полезны для цифрового изменения гаммы, цветовой температуры и прочих параметров. Это может пригодиться не только дизайнерам. При 8 битах при цифровой обработке изображения появляется эффект пастеризации.


          1. gene4000
            15.05.2015 17:35
            +1

            Не совсем. Даже на обычном (элт) мониторе было заметно, что есть предел после которого улучшения не видно. Есть инерция в химических реакциях на свет внутри глаза. Для 17" элт монитора после 100 Гц уже разницу практическине видно.


            1. evtomax
              15.05.2015 22:54
              +2

              Вот поэтому 120 Гц не может перегружать голову больше, чем реальность :-)


    1. Stalker_RED
      15.05.2015 16:06

      Более того, заметна разница между 70Гц и 85Гц. А вот 85 и 100 лично я на глаз не отличаю.


  1. palebluedot
    15.05.2015 11:59

    Спасибо за статью! А где вы нашли информацию о частоте пикселизации?


    1. ValdikSS Автор
      15.05.2015 13:06

      О Haswell нашел на форуме Intel, а для Sandy Bridge она была вычислена эмпирическим путем.


      1. palebluedot
        15.05.2015 13:15

        В чем заключается этот эмпирический путь? Постепенно повышали, пока не начались проблемы?


        1. ValdikSS Автор
          15.05.2015 13:16

          Пока просто видеокарта отказалась выдавать сигнал.


  1. amarao
    17.05.2015 22:47

    У меня на x220 4k монитор на 30Гц через DP заработал с пол-пинка (xrandr'ом). Но 30Гц — это порнография. Требую 120Гц @ 5k.


    1. ValdikSS Автор
      17.05.2015 22:59

      В вашем мониторе, наверное, в EDID был забит 3840?2160@30 Гц, поэтому и заработал.


      1. amarao
        17.05.2015 23:32

        xrandr довольно просто учится 30 герцам, кстати.


        1. ValdikSS Автор
          17.05.2015 23:33

          Учится? Что это значит? Xrandr умеет автоматически генерировать моудлайны?