Обзор технологии NVIDIA G-Sync и монитора ASUS ROG SWIFT PG278Q
Герой нашего обзора, ASUS ROG SWIFT PG278Q — один из первых мониторов, в которых реализована новая технология G-Sync, созданная компанией NVIDIA. Кроме того, это первый и пока единственный монитор c разрешением WQHD (2560×1440), поддерживающий частоту обновления 144 Гц, а следовательно, способный выводить стереоскопическое изображение при помощи затворных очков.
⇡#G-Sync: зачем это нужно
Главное, что нас интересует в ASUS PG278Q, — это, конечно же, G-Sync. Но перед тем как приступить к ее описанию, вспомним, какие именно задачи данная технология должна решать и какие средства для этого уже появились ранее.
Если вкратце, то у мониторов есть две проблемы, которые каждый легко может заметить в 3D-играх. Во-первых, это разрывы кадра, выглядящие как сдвиг части изображения по горизонтали. Во-вторых, «фризы» — кратковременные провалы частоты смены кадров, которые практически неизбежно возникают при включении вертикальной синхронизации — технологии, устраняющей разрывы. Таким образом, в зависимости от того, готовы ли мы пользоваться V-Sync, мы сталкиваемся либо с одной, либо с другой проблемой, но чтобы устранить их одновременно, нужно совершенно новое решение. Это и есть G-Sync.
Читателям, которые не удовлетворились столь поверхностным описанием, предлагаем разобраться в вопросе более подробно. Благо здесь все довольно просто. Начнем с пресловутых разрывов. Несмотря на то, сколь четко выглядит разрыв, существует он только на экране монитора — в памяти видеокарты кадры целые. Дело в том, что графические адаптеры с довольно давних времен используют два кадровых буфера — адресных пространства, в которых формируется изображение. В то время как монитор получает содержимое одного буфера (называемого front buffer), видеоадаптер создает следующий кадр во втором буфере (back buffer). Когда кадр готов, буферы меняются местами таким образом, что бывший back buffer становится front buffer — и наоборот.
Без вертикальной синхронизации буферы меняются местами сразу после того, как финализируется новый кадр, а это может занять совершенно различное время в зависимости от того, насколько сложна вычислительная задача. В то же время монитор обновляет изображение с регулярным периодом (типичное значение для ЖК-панелей — 50/60 Гц), да вдобавок обновление происходит не мгновенно, потому что содержимое нового кадра выводится на экран строка за строкой — сверху вниз. Поскольку без V-Sync частота смены кадров в графическом адаптере не привязана к циклу обновления монитора, буферы могут поменяться местами в процессе очередного обновления, и если содержимое кадров, которые в них находятся, различается, возникает видимый невооруженным глазом разрыв. Или даже множественные разрывы — если производительность настолько велика, что буферы успели поменяться несколько раз в течение одного цикла обновления.
Вертикальная синхронизация, как следует из названия, синхронизирует смену кадровых буферов с циклом обновления экрана. Видеоадаптер по-прежнему занимается подготовкой очередного кадра в back buffer в то время, когда монитор считывает и выводит на экран содержимое предыдущего кадра из front buffer, но перемена произойдет только в перед началом следующего цикла обновления — получается, что видеокарта ждет, пока монитор будет готов. Таким образом V-Sync полностью устраняет одну проблему — разрывы, но вызывает новую — «фризы». Пока система обладает достаточной производительностью, чтобы время подготовки кадра в back buffer не превышало период обновления экрана, у нас все хорошо. Но если новый кадр задерживается к моменту нового цикла обновления, смены буферов не происходит — и на экран повторно выводится старый кадр. В динамике это воспринимается как кратковременное застревание картинки — «фриз». И хотя средняя частота смены кадров может быть очень высокой, для появления «фриза» достаточно, чтобы отдельно взятый кадр хоть немного запоздал — время его подготовки к выводу на экран удвоится.
Частота обновления 120 Гц и более компенсирует эту проблему (равно как и разрывы в некоторой степени). Кадры, запаздывающие к циклу обновления при частоте 60 Гц, получают 17 мс задержки, а при частоте 120 или 144 Гц минимальный штраф снижается до 8 и 7 мс соответственно.
Другой негативный аспект V-Sync — увеличение времени реакции. Пока монитор считывает изображение из front buffer, видеоадаптер может создать только один новый кадр в back buffer. Без V-Sync — если производительность позволяет — буферы могут поменяться несколько раз в течение одного цикла обновления. В результате следующий цикл начнется с вывода наиболее современной информации. С V-Sync время реакции не может быть меньше периода обновления экрана (который при частоте 60 Гц составляет около 17 мс).
В принципе, последняя проблема также решается повышением частоты обновления до 120 или 144 Гц. Другой вариант — так называемая тройная буферизация (Triple Buffering). В отличие от стандартной логики с двумя буферами — front buffer и back buffer, при тройной буферизации с V-Sync видеоадаптер может создавать сколько угодно кадров в двух чередующихся back buffers, пока монитор обновляет кадр из зафиксированного front buffer. А когда наступает новый цикл обновления, на экран попадает информация из того back buffer, который содержит наиболее свежий полностью сформированный кадр. Впрочем, по неким причинам, это не очень популярная технология. Соответствующая опция есть далеко не во всех играх, и драйверы GPU позволяют ее форсировать только для OpenGL-, но не DirectX-игр. Разве что есть утилита D3DOverrider для NVIDIA, которая может это сделать. Корректной работы никто не гарантирует, но мы, по крайней мере, советуем испытать ее на собственном опыте.
Приступая к G-Sync, напомним, что для NVIDIA это не первая подобная инициатива. Ранее GPU с архитектурами Kepler и Maxwell получили технологию под названием Adaptive V-Sync. Судя по тому поверхностному описанию, которое предоставила NVIDIA, при Adaptive V-Sync вертикальная синхронизация активна, если частота смены кадров превышает 60 FPS, и отключается при падении частоты ниже этой отметки, дабы предотвратить «фризы» (пусть и ценой разрывов). В публичном доступе нет описания работы Adaptive V-Sync на уровне отдельных кадров, но нетрудно предположить, как это может быть сделано. А именно: если в то время, как монитор выводит содержимое кадра из front buffer, в back buffer сформировался новый кадр, смена буферов не происходит вплоть до начала нового цикла обновления. Но если кадр в back buffer опоздал к этому времени, то смена буферов выполняется в ходе начавшегося нового цикла, вызывая разрыв.
[embedded content] Adaptive V-Sync от NVIDIA
⇡#G-Sync: как это работает
Резюмируем: лучший компромисс между проблемами разрывов и «фризов» дает простое увеличение частоты обновления экрана до 120 или 144 Гц. Для 60-герцевых мониторов требуются более изощренные технологии — тройная буферизация и Adaptive V-Sync, лучше — одновременно (если последняя это допускает). Убрать фризы полностью можно только путем вмешательства в аппаратные средства на стороне монитора, которое устранило бы сам источник сложностей — необходимость синхронизировать переменную частоту смены кадров с фиксированной частотой обновления экрана. LCD-мониторы, в отличие от электронно-лучевых трубок, дают такую возможность. Люминофор на CRT-экране угасает настолько быстро, что в отдельный момент времени светится только участок изображения. Как следствие, обновление уже на 60 Гц вызывает заметное невооруженным глазом мерцание, не говоря о меньших частотах. Пиксели LCD-матрицы, напротив, светятся непрерывно. Стало быть, время между циклами обновления можно варьировать, подстраивая его под время смены кадровых буферов. Проще говоря, экран можно обновлять сразу после того, как финализируется очередной кадр. Таким образом, проблемы разрывов, «фризов», а также задержки ввода при активном V-Sync устраняются в корне, как если бы частота обновления экрана была бесконечно высокой. Именно таким образом работает G-Sync.
Протоколы DisplayPort, DVI и HDMI в текущих версиях не допускают манипуляций временем обновления, поэтому G-Sync представляет собой проприетарное решение, которое требует замены контроллера дисплея фирменной платой. Время между циклами обновления варьируется за счет интервала VBLANK, который изначально применялся в ЭЛТ-мониторах для того, чтобы выключить и позиционировать луч в начало изображения после отрисовки кадра. К счастью для нас, хотя VBLANK является рудиментарным для LCD-панелей, он поддерживается микросхемами TCON (Timing Controller) в современных мониторах, что позволяет не трогать этот компонент, адаптируя монитор под G-Sync. В текущей реализации G-Sync допускается увеличение VBLANK вплоть до 33,3 мс (30 Гц). Нижний предел ограничен только минимальным интервалом между обновлениями, которй для лучших матриц с частотой обновления 144 Гц составляет около 7 мс.
ASUS SWIFT PG278Q — первый монитор, обладающий модулем G-Sync в штатной поставке. Ранее для того чтобы приобщиться к этой технологии, требовалось купить модуль отдельно и установить его в единственную совместимую модель — ASUS VG248QE (либо купить монитор у немногих поставщиков, которые делали это сами). Но, по-видимому, в этих моделях используется одна и та же плата G-Sync. Модуль, извлеченный нами из ASUS PG278Q, построен на базе FPGA-чипа Altera Arria V GX, обладающего интегрированным интерфейсом LVDS для сообщения с чипом TCON монитора. Интересно, что NVIDIA использовала здесь FPGA, а не ASIC (то есть выбрала программируемую микросхему вместо чипа, выполняющего специфические функции), но это вполне понятно, если принять во внимание мелкие (по крайней мере пока) масштабы производства. Видимо, из-за этого также пришлось пожертвовать аппаратным масштабированием изображения из «неродных» разрешений. Эта задача, впрочем, без проблем выполняется на стороне GPU. В текущей реализации G-Sync также лишен возможности принимать звук по интерфейсу DisplayPort.
Помимо чипа Altera, на плате обнаруживаются три микросхемы SK hynix H5TC2G63FFR типа DDR3L объемом по 256 Мбайт. Такая конфигурация отчасти продиктована требованиями не к объему, а к совокупной пропускной способности памяти. Поскольку модуль обладает интерфейсом DisplayPort 1.2, поддерживаются разрешения вплоть до UHD (3840×2160) при частоте 60 Гц.
С G-Sync, разумеется, совместимы только видеокарты на GPU NVIDIA. Поддерживаются модели с графическим процессором архитектуры Kepler — не менее мощным, чем GK104 (то есть, GeForce GTX 650 Ti BOOST и выше), или Maxwell, среди которых пока представлены только GTX 750 и GTX 750 Ti.
⇡#Adaptive Sync — альтернатива G-Sync
Между тем, оказалось, что произвольное время обновления не является чем-то абсолютно новым для индустрии и уже давно присутствует в стандарте eDP — DisplayPort, адаптированном для соединения GPU с интегрированными панелями в мобильных устройствах. Многие ноутбуки обладают всем необходимым для работы этой функции на аппаратном уровне. Не хватает только поддержки со стороны драйверов, что, кстати, удивительно во времена кампании по снижению энергопотребления всех компонентов ПК, которую развернула Intel с выпуском процессоров архитектуры Haswell. Обновление экрана, как известно, расходует энергию, и снижение частоты потенциально должно положительно отразиться на времени автономной работы.
Стараниями AMD такая функциональность под названием Adaptive Sync (не путать с Adaptive V-Sync от NVIDIA) была включена как опция в свежие спецификации DisplayPort версии 1.2a. Интересно, что Adaptive Sync позволяет манипулировать частотой обновления в более широких пределах, начиная с 9 Гц, в то время как нижний предел для G-Sync составляет 30 Гц.
[embedded content] Демонстрация AMD FreeSync на Computex-2014
AMD будет продвигать ее под именем FreeSync для APU и GPU с архитектурой GCN 1.1. Поскольку Adaptive Sync входит в общий стандарт, требуется только поддержка со стороны производителей ASIC контроллеров дисплея. Заявлено, что готовые мониторы появятся на рынке, самое ранее уже в этом году. NVIDIA пока не подтвердила, что будет поддерживать Adaptive Sync на своем оборудовании и вообще воздерживается от пространных комментариев на этот счет. В конце концов, ситуация симметрична той, что сложилась с API Mantle. Одна сторона представляет проприетарное решение, другая вскоре выступает с поддержкой общедоступного стандарта, который решает те же задачи. Но если реалистично смотреть на сроки, то в этом году G-Sync останется единственной доступной технологией в своем роде.
⇡#ULMB (Ultra-Low Motion Blur)
В мониторах с модулем G-Sync представлена еще одна функция, не связанная с его основным назначением. При активации ULMB подсветка матрицы при мерцает синхронно с обновлением кадров так, что большую часть времени предъявления на экране кадр затемнен и становится виден лишь в течение краткого импульса. Точно такую технологию мы обнаружили в мониторе EIZO Foris FG2421 и не можем описать ее назначение лучше, чем процитировав тот обзор.
Необходимость в такой странной — на первый взгляд — технологии связанна со следующим фундаментальным недостатком LCD-дисплеев (по сравнению с ЭЛТ). Даже при бесконечно малом времени отклика движущиеся объекты на жидкокристаллическом экране выглядят размытыми для человеческого глаза. Причина этого явления в том, что движение на экране представлено как последовательность статических положений объекта, каждое из которых непрерывно занимает определенное время — 1/60 или 1/120 секунды (sample-and-hold-экран). В то же время направление взора, следящего за объектом, перемещается непрерывно, предвосхищая его следующее положение, как если бы перед человеком была реальная вещь. Как следствие, пока изображение остаётся неизменным в течение 1/60 или 1/120 с, глаз успевает сместиться — и размытый шлейф возникает уже не на экране, а на самой сетчатке глаза. Убедиться в этом явлении воочую позволит простой браузерный тест.
ЭЛТ-мониторы лишены такого недостатка. Поскольку изображение формируется построчно сканирующим лучом, и люминофор отдельных пикселов быстро угасает, отдельно взятый участок экрана предъявляется наблюдателю на краткое время. Движение объекта представлено отдельными, разнесенными во времени импульсами, между которыми изображение залито чёрным. Перемещаясь по чёрному полю вслед за воспринимаемой линией движения, взгляд не вызывает размытия ретинального образа.
Иллюстрация из обзора EIZO Foris FG2421 применима к ULMB с поправкой на то, что в ASUS ROG SWIFT PG278Q подсветка не мерцает на частоте 120 Гц
——Благодаря мерцанию подсветки синхронно с обновлением экрана предъявляемые кадры превращаются в отделённые моментами черноты импульсы — аналогично ЭЛТ, в конечном счете избавляя зрителя от размытия движущихся объектов. С функцией G-Sync в текущем варианте ULMB не совместим.
Следующая страница →
Материалы по теме
Полный текст статьи читайте на 3DNews