Синхронизация cvt с уменьшенным миганием что это
Используем высокие разрешения на неподдерживающих их видеокартах
Засматриваетесь на 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), в котором описывается способ чуть более точного рассчитывания таймингов.
История
Наконец-то настала эра высокой плотности пикселей и на ПК. На протяжении последних нескольких лет, нас встречал театр абсурда, когда на мобильные устройства ставят пятидюймовые матрицы с разрешением 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 содержит следующую структуру:
Посмотрите на таблицу выше: минимальная вертикальная частота обновления моего монитора может равняться 29 Гц.
Давайте сгенерируем modeline для разрешения 3840×2160 с частотой обновления в 30 Гц:
Как видим, частота пикселизации с данным режимом будет установлена в 262.75 МГц, что далеко от ограничений моего видеоадаптера.
Давайте попробуем установить и активировать наш режим:
Если все прошло удачно, вы увидите картинку в «неподдерживаемом» вашей картой разрешении на мониторе. Ура!
У нас все еще есть большой запас по частоте пикселизации, да и вряд ли кому-то будет комфортно использовать монитор с частотой обновления в 30 Гц, поэтому мы будем увеличивать ее до тех пор, пока частота пикселизации не приблизится к значению в 389 МГц — пределу моего видеоадаптера. Путем нехитрых манипуляций удалось установить, что при такой частоте мы получаем вертикальную развертку в 44.1 Гц.
Не блеск, но жить можно!
Как можно заметить, частота горизонтальной развертки — 97.25 кГц — вполне в диапазоне поддерживаемых монитором. Как в случае с вертикальной разверткой, так и в случае с разрешением, монитору нет дела до конкретных режимов, поэтому мы можем использовать 3200×1800 при 60 Гц — еще не такое низкое разрешение, как 2560×1440, и с привычной частотой обновления.
Для второго способа достаточно создать файл с Xorg-секцией «Monitor» и поместить его в /etc/X11/xorg.conf.d/ :
Где Identifier — название вашего видеовыхода согласно xrandr. Опцией «PreferredMode» можно задать режим, который будет выбран по умолчанию.
У меня не получается!
Убедитесь, что вы подключаете монитор через DisplayPort 1.2. HDMI 1.4 не позволяет использовать частоту пикселизации выше 340 МГц, в то время как для DisplayPort (HBR2) верхнее ограничение равно 540 МГц. Также удостоверьтесь, что ваш монитор поддерживает частоту обновления выше 30 Гц на максимальном разрешении, т.к. ранние модели этим грешили.
Заключение
Не стоит слепо верить технической документации на монитор. В ходе исследований оказалось, что ограничение по вертикальной частоте аж 86 Гц, вместо 76 Гц по заявлению производителя. Таким образом, я могу наслаждаться плавной картинкой, хоть и в не в самом высоком разрешении
Диалоговое окно «Создать пользовательское разрешение»
На этой странице можно задать пользовательские параметры синхронизации для настройки видеоплаты ГП NVIDIA на поддержку самых разнообразных режимов синхронизации дисплея, которые могут встретиться в аналоговых ЭЛТ-мониторах и устройствах с разъемами DVI.
Примечание. Эта страница предназначена только для опытных пользователей, имеющих полное представление о синхронизации дисплея и ее эффектах.
Выбор дисплеев
Примечание. Этот раздел выбора дисплеев доступен только для продуктов Quadro и NVS и только в операционной системе Windows 7 и более поздних версиях Windows.
Выбрать дисплеи, для которых нужно применить пользовательское разрешение. Успешное изменение разрешения приведет к созданию пользовательского разрешения для соответствующего выходного разъема, независимо от того, какой дисплей будет подключен к нему позже. Изменение разрешения должно быть успешным для всех выбранных дисплеев, в противном случае новое разрешение не будет создано.
Настройки разрешения
Импорт настроек
Режим дисплея
Пикселы по горизонтали. Введите требуемое количество видимых пикселов в одной строке по горизонтали.
Строки по вертикали. Введите требуемое количество видимых пикселов в одной строке по вертикали.
Глубина цвета (бит/пкс). Введите количество бит на пиксел.
Частота обновления (Гц). Обозначает частоту, с которой обновляется весь экран. В частности, для аналогового дисплея (ЭЛТ) этот параметр показывает, сколько раз в секунду электронный луч в кинескопе перемещается от верхнего до нижнего края экрана.
Примечание. Частота ограничена максимальной частотой горизонтальной развертки и текущим разрешением экрана, так как чем выше разрешение, тем больше строк развертки. Частота не должна превышать максимальной частоты вертикальной развертки дисплея.
Тип сканирования : метод отправки изображения на дисплей.
Чересстрочная развертка. Обозначает режим чересстрочной развертки, при котором четные строки развертки отображаются во время первого поля кадра, а нечетные строки — во время второго поля. Чересстрочная развертка обеспечивает более высокую частоту кадров, но обычно вызывает мерцание изображения.
Синхронизация
Стандарт: Раскройте список и выберите один из вариантов для настройки стандарта синхронизации:
Активных пикселов по горизонтали. Введите количество пикселов по горизонтали, которое сообщает Windows.
Активных пикселов по вертикали. Введите количество пикселов по вертикали, которое сообщает Windows.
Передняя площадка СИГ по горизонтали. Этот параметр определяет период гашения горизонтальной развертки от конца активного периода до начала синхроимпульса.
Передняя площадка СИГ по вертикали. Этот параметр определяет период гашения вертикальной развертки от конца активного периода до начала синхроимпульса.
Ширина горизонтального синхроимпульса. Этот параметр определяет ширину периода гашения горизонтальной развертки, во время которого синхроимпульс включает повторную горизонтальную развертку.
Ширина вертикального синхроимпульса. Этот параметр определяет ширину периода гашения вертикальной развертки, во время которого синхроимпульс включает повторную вертикальную развертку.
Всего пикселов по горизонтали. Максимальное общее число пикселов по горизонтали в соответствии с режимом дисплея.
Всего пикселов по вертикали. Максимальное общее число пикселов по вертикали в соответствии с режимом дисплея.
Полярность горизонтального синхроимпульса. Этот параметр определяет направление быстрого кратковременного изменения амплитуды сигнала от исходного уровня во время прохождения горизонтального синхроимпульса. При положительной (+) полярности горизонтального синхроимпульса значение горизонтального синхроимпульса выше исходного уровня. При отрицательной (-) полярности значение горизонтального синхроимпульса ниже исходного уровня.
Примечание. Полярность горизонтального и вертикального синхроимпульсов можно выбрать независимо друг от друга.
Полярность вертикального синхроимпульса. Этот параметр определяет направление быстрого переходного изменения амплитуды сигнала от исходного уровня во время прохождения вертикального синхроимпульса. При положительной (+) полярности вертикального синхроимпульса значение вертикального синхроимпульса выше исходного уровня. При отрицательной полярности (-) значение вертикального синхроимпульса ниже исходного уровня.
Примечание. Полярность вертикального и горизонтального синхроимпульсов можно выбрать независимо друг от друга.
Дополнительные сведения о синхронизации ТВЧ
Параметры синхронизации EIA-861B (см. два примера ниже) относятся к режимам синхронизации, применяемым для дисплеев ТВЧ.
861B относится к стандарту EIA/CEA; этот режим применяется для некоторых дисплеев ТВЧ 861. Данный стандарт описывает режимы синхронизации дисплея и форматы сигнала, позволяющие видеоплате подключаться к цифровому телевизору через разъем DVI и самостоятельно выбирать настройку, оптимальную для этого телевизора.
-P означает прогрессивная (или построчная) развертка — способ вывода изображения на дисплей, при котором все линии развертки обновляются в каждом кадре — иными словами, все они отображаются последовательно. Этот способ используется в современных компьютерных дисплеях; он обычно уменьшает мерцание изображений и обеспечивает более равномерное движение при воспроизведении видео.
-I указывает режим чересстрочной развертки — способ вывода изображения на дисплей, при котором четные строки развертки отображаются во время первого поля кадра, а нечетные строки — во время второго поля. Иными словами, изображение на экране при этом способе строится в два этапа. На первом этапе отображается каждая вторая строка, а на втором — остальные строки. В отличие от режима построчной (прогрессивной) развертки, когда все строки развертки обновляются в каждом кадре, чересстрочная развертка обеспечивает более высокую частоту кадров, но обычно вызывает мерцание изображения.