Технология Nvidia G-Sync

Теория и практика


Содержание

Введение

Есть вещи, писать о которых не просто трудно, а очень трудно. Которые просто нужно один раз увидеть, чем сто раз услышать о них или прочитать в интернете. К примеру, невозможно описать какие-то природные чудеса, вроде величественного Гранд-Каньона или заснеженных Алтайских гор. Можно сто раз смотреть на красивые картинки с их изображением и любоваться видеороликами, но живых впечатлений всё это не заменит.

Тема плавности вывода кадров на монитор с применением технологии Nvidia G-Sync тоже относится к таким темам — по текстовым описаниям изменения не кажутся такими уж существенными, но в первые же минуты за 3D-игрой на системе с видеокартой Nvidia Geforce, подключенной к G-Sync-монитору, становится понятно, насколько большим является качественный скачок. И хотя с момента анонса технологии прошло уже больше года, технология не теряет актуальности, конкурентов у неё до сих пор нет (среди вышедших на рынок решений), а соответствующие мониторы продолжают выпускаться.

Компания Nvidia уже довольно давно занимается вопросом улучшения восприятия пользователями графических процессоров Geforce видеоряда в современных играх путём повышением плавности рендеринга. Можно вспомнить технологию адаптивной синхронизации Adaptive V-Sync, которая является гибридом, сочетающим режимы с включенной и отключенной вертикальной синхронизацией (V-Sync On и V-Sync Off, соответственно). В случае, когда GPU обеспечивает рендеринг с частотой кадров менее частоты обновления монитора, синхронизация отключается, а для FPS, превышающего частоту обновления — включается.

Проблемы плавности при помощи адаптивной синхронизации решились не все, но всё же это был важный шаг в правильном направлении. Но почему вообще понадобилось делать какие-то специальные режимы синхронизации и даже выпускать программно-аппаратные решения? Что не так в технологиях, существующих уже десятки лет? Сегодня мы расскажем вам о том, как технология Nvidia G-Sync помогает устранить все известные артефакты вывода изображения на экран, вроде разрывов изображения, неплавности видеоряда и увеличения задержек.

Забегая далеко вперёд, можно сказать, что технология синхронизации G-Sync позволяет получить плавную смену кадров с максимально возможной производительностью и комфортом, что очень сильно ощутимо при игре за таким монитором — это заметно даже обычному домашнему пользователю, а уж для заядлых игроков может означать улучшение времени реакции, а заодно и игровых достижений.

На сегодняшний день, большинство ПК-игроков используют мониторы с частотой обновления 60 Гц — типичные ЖК-экраны, самые популярные сейчас. Соответственно, и при включенной синхронизации (V-Sync On), и при выключенной — всегда наблюдаются какие-либо недостатки, связанные с базовыми проблемами древних технологий, о которых мы поговорим далее: высокие задержки и рывки FPS при включенном V-Sync и неприятные разрывы изображения при выключенном.

А так как задержки и неплавность частоты кадров сильнее мешают игре и раздражают, редко кто из игроков включает синхронизацию вовсе. И даже некоторые модели мониторов с частотой обновления 120 и 144 Гц, появившиеся на рынке, не могут помочь устранить проблемы полностью, они их просто делают несколько менее заметными, обновляя содержимое экрана вдвое чаще, но все те же артефакты присутствуют: лаги и отсутствие той самой комфортной плавности.

И так как мониторы с G-Sync в паре с соответствующей видеокартой Nvidia Geforce способны обеспечить не только высокую частоту обновления, но и устранить все эти недостатки, то приобретение подобных решений можно считать даже более важным, чем даже апгрейд на более мощный GPU. Но давайте разберёмся сначала с тем, почему вообще понадобилось делать что-то отличающееся от давно известных решений — в чём тут проблема?

Проблемы существующих методов видеовывода

Технологии вывода изображения на экран с фиксированной частотой обновления появились ещё с тех времён, когда использовались мониторы на электронно-лучевых трубках (ЭЛТ). Большинство читателей должны их помнить — пузатенькие такие, как и древние телевизоры. Эти технологии изначально разрабатывались для показа телевизионного изображения с фиксированной частотой кадров, но в случае устройств для вывода динамически рассчитываемой на ПК 3D-картинки это решение вызывает большие проблемы, не решённые до сих пор.

Даже самые современные ЖК-мониторы имеют фиксированную частоту обновления изображения на экране, хотя технологически ничто не мешает изменять картинку на них в любое время, с любой частотой (в разумных пределах, разумеется). Но ПК-игроки с давних времён ЭЛТ-мониторов вынуждены мириться с явно неидеальным решением проблемы синхронизации частоты кадров 3D-рендеринга и частоты обновления монитора. Вариантов вывода изображения до сих пор было совсем немного — два, и оба они имеют недостатки.

Корень всех проблем заключается в том, что при фиксированной частоте обновления картинки на мониторе, видеокарта отрисовывает каждый кадр за разное время — так получается из-за постоянно изменяющейся сложности сцены и нагрузки на графический процессор. И время рендеринга каждого кадра непостоянно, оно меняется каждый кадр. Немудрено, что при попытке вывести ряд кадров на монитор возникают проблемы синхронизации, ведь некоторые из них требуют куда больше времени на отрисовку, чем другие. В итоге, получается разное время подготовки каждого кадра: то 10 мс, то 25 мс, например. А существующие до появления G-Sync мониторы могли выводить кадры только через определённый промежуток времени — не раньше, не позже.

Дело осложняется ещё и богатством программно-аппаратных конфигураций игровых ПК, в сочетании с очень сильно различающейся нагрузкой в зависимости от игры, настроек качества, настроек видеодрайвера и т. д. В результате, невозможно настроить каждую игровую систему так, чтобы подготовка кадров велась с постоянным или хотя бы не слишком отличающимся временем во всех 3D-приложениях и условиях — как это возможно на игровых консолях с их единой аппаратной конфигурацией.

Естественно, что в отличие от консолей с их предсказуемым временем рендеринга кадров, ПК-игроки до сих пор серьёзно ограничены в возможности достижения плавного игрового ряда без ощутимых просадок и лагов. В идеальном (читай — невозможном в реальности) случае, обновление изображения на мониторе должно осуществляться строго после того, как графическим процессором рассчитан и подготовлен очередной кадр:

Как видите, в этом гипотетическом примере GPU всегда успевает отрисовать кадр до того времени, как его нужно передать на монитор — время кадра всегда чуть меньше времени между обновлениями информации на дисплее, а в перерывах графический процессор немного отдыхает. Но в реальности то ведь всё совсем по-другому — время отрисовки кадров сильно отличается. Представьте, если GPU не успевает отрендерить кадр за отведённое время — тогда кадр необходимо или выводить позже, пропустив одно обновление изображения на мониторе (вертикальная синхронизация включена — V-Sync On), или выводить кадры по частям при отключенной синхронизации, и тогда на мониторе одновременно будут присутствовать куски из нескольких соседних кадров.

Большинство пользователей выключают V-Sync, чтобы получить меньшие задержки и более плавный вывод кадров на экран, но это решение способствует появлению видимых артефактов в виде разрывов изображения. А с включенной синхронизацией разрывов картинки не будет, так как кадры выводятся исключительно целиком, но задержка между действием игрока и обновлением изображения на экране возрастает, а частота вывода кадров получается весьма неравномерной, так как GPU никогда не отрисовывает кадры в строгом соответствии со временем обновления картинки на мониторе.

Эта проблема существует уже много лет и явно мешает комфорту при просмотре результата 3D-рендеринга, но до некоторых пор никто так и не удосуживался её решить. А решение то в теории довольно простое — нужно просто выводить информацию на экран строго тогда, когда GPU заканчивает работу над следующим кадром. Но давайте сначала ещё подробнее разберём на примерах, как именно работают существующие технологии вывода изображения, и какое решение предлагает нам компания Nvidia в своей технологии G-Sync.

Недостатки вывода при отключенной синхронизации

Как мы уже упоминали, абсолютное большинство игроков предпочитает держать синхронизацию выключенной (V-Sync Off), чтобы получить отображение отрисованных графическим процессором кадров на мониторе максимально оперативно и с минимальной задержкой между действием игрока (нажатия клавиш, команды от мыши) и их отображением. Для серьёзных игроков это необходимо для побед, да и для обычных в таком случае ощущения будут приятнее. Вот так работа с отключенным V-Sync выглядит схематично:

Проблем и задержек с выводом кадров нет. Но хотя отключенная вертикальная синхронизация решает проблему лага насколько это возможно, обеспечивая минимальную задержку, вместе с этим появляются артефакты на изображении — разрывы картинки, когда изображение на экране состоит из нескольких кусков соседних кадров, отрисованных графическим процессором. Также заметно и отсутствие плавности видеоряда из-за неравномерности поступающих от GPU кадров на экран — разрывов изображения в разных местах.

Эти разрывы изображения возникают в результате вывода картинки, состоящей из двух из более кадров, отрендеренных на GPU за время одного цикла обновления информации на мониторе. Из нескольких — когда частота кадров превышает частоту обновления монитора, и из двух — когда примерно соответствует ей. Посмотрите на диаграмму, изображённую выше — если содержимое кадрового буфера обновляется в середине между временами вывода информации на монитор, то итоговая картинка на нём будет искажена — часть информации в таком случае принадлежит к предыдущему кадру, а остальное — к текущему отрисовываемому.

С отключенной синхронизацией кадры передаются на монитор абсолютно без оглядки на частоту и время его обновления, поэтому никогда не совпадают с частотой обновления монитора. Иными словами, с отключенным V-Sync на мониторах без поддержки G-Sync всегда будут наблюдаться такие разрывы картинки.

Речь не только о том, что игроку неприятно наблюдать дёргающиеся по всему экрану полосы, но и о том, что одновременная отрисовка частей различных кадров может дезинформировать мозг, что особенно заметно при динамичных объектах в кадре — игрок видит сдвинутые относительно друг друга части объектов. Мириться с этим приходится лишь потому, что отключение V-Sync обеспечивает минимальные задержки вывода на данный момент, но далеко не идеальное качество динамического изображения, как вы можете убедиться на следующих примерах (по клику доступны кадры в полном разрешении):



На примерах выше, снятых при помощи программно-аппаратного комплекса FCAT, вы можете убедиться, что реальное изображение на экране может быть составлено из кусков нескольких соседних кадров — причём иногда и неравномерно, когда от одного из кадров берётся узкая полоска, а соседние занимают оставшуюся (заметно большую) часть экрана.

Ещё нагляднее проблемы с разрывом изображения заметны в динамике (если ваша система и/или браузер не поддерживает проигрывание роликов MP4/H.264 в разрешении 1920×1080 пикселей с частотой обновления 60 FPS, то вам придётся скачать их и просмотреть локально, используя медиаплеер с соответствующими возможностями):

Как видите, даже в динамике легко заметны неприятные артефакты в виде разрывов картинки. Давайте посмотрим, как это выглядит схематически — на диаграмме, на которой показан метод вывода при отключенной синхронизации. При этом кадры поступают на монитор сразу после того, как работу над их рендерингом заканчивает GPU, и изображение выводится на дисплей даже если вывод информации из текущего кадра ещё не закончен полностью — оставшаяся часть буфера приходится на следующее обновление экрана. Именно поэтому каждый выведенный на монитор кадр нашего примера состоит из двух отрисованных на GPU кадров — с разрывом изображения в отмеченном красным цветом месте.

В этом примере первый кадр (Draw 1) отрисовывается графическим процессором в экранный буфер быстрее, чем его время обновления в 16,7 мс — и раньше, чем изображение будет передано монитору (Scan 0/1). GPU тут же начинает работу над следующим кадром (Draw 2), который и разрывает картинку на мониторе, содержащую ещё половину предыдущего кадра.

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

Плюсы и минусы вертикальной синхронизации

При включении традиционной вертикальной синхронизации (V-Sync On), информация на мониторе обновляется только тогда, когда работа над кадром полностью закончена графическим процессором, что исключает разрывы в изображении, ведь кадры выводятся на экран исключительно целиком. Но, так как монитор обновляет содержимое только в определённые промежутки времени (в зависимости от характеристик устройства вывода), то эта привязка приносит уже другие проблемы.

Большинство современных ЖК-мониторов обновляют информацию с частотой 60 Гц, то есть 60 раз в секунду — примерно каждые 16 миллисекунд. И с включенной синхронизацией время вывода изображения жёстко привязано к частоте обновления монитора. Но, как мы знаем, частота рендеринга кадров на GPU всегда переменная, и время отрисовки каждого кадра отличается в зависимости от постоянно изменяющейся сложности 3D-сцены и настроек качества.

Оно не может быть всегда равно 16,7 мс, а будет или меньше этого значения или больше. При включенной синхронизации, работа графического процессора над кадрами снова завершается то раньше, то позже времени обновления экрана. В случае, если кадр был отрисован быстрее этого момента, то особых проблем нет — визуальная информация просто ждёт времени обновления монитора для вывода кадра на экран целиком, а GPU простаивает. А вот если кадр не успевает отрендериться за отведённое время, то ему приходится ждать следующего цикла обновления изображения на мониторе, что вызывает увеличение задержки между действиями игрока и их визуальным отображением на экране. При этом на экран снова выводится изображение предыдущего «старого» кадра.

Хотя всё это происходит достаточно быстро, но увеличение задержки визуально легко заметно, и совсем не только профессиональными игроками. А так как время рендеринга кадров всегда переменное, то включение привязки к частоте обновления монитора вызывает рывки при выводе динамического изображения, ведь кадры выводятся то быстро (равно частоте обновления монитора), то вдвое-втрое-вчетверо медленнее. Рассмотрим схематичный пример такой работы:

На иллюстрации показано, как кадры выводятся на монитор при включенной вертикальной синхронизации (V-Sync On). Первый кадр (Draw 1) отрисовывается графическим процессором быстрее, чем 16,7 мс, поэтому GPU не переходит к работе над отрисовкой следующего кадра, и не разрывает изображение, как в случае V-Sync Off, а ожидает полного вывода первого кадра на монитор. И уже только после этого начинает отрисовывать следующий кадр (Draw 2).

А вот работа над вторым кадром (Draw 2) занимает больше времени, чем 16,7 мс, поэтому после их истечения на экран выводится визуальная информация из предыдущего кадра, и он показывается на экране ещё 16,7 мс. И даже после того, как GPU заканчивает работу над следующим кадром, он не выводится на экран, так как монитор имеет фиксированную частоту обновления. В целом, приходится ждать 33,3 мс для вывода второго кадра, и всё это время добавляется к задержке между действием игрока и окончанием вывода кадра на монитор.

К проблеме временного лага прибавляется ещё и разрыв в плавности видеоряда, заметный по дёрганности 3D-анимации. Очень наглядно проблема показана в коротком видеоролике:

А ведь даже мощнейшие графические процессоры в требовательных современных играх не всегда могут обеспечить достаточно высокую частоту кадров, превышающую типичную частоту обновления мониторов в 60 Гц. И, соответственно, не дадут возможности комфортной игры с включенной синхронизацией и отсутствием проблем вроде разрыва картинки. Особенно если речь о таких играх, как сетевая игра Battlefield 4, весьма требовательные Far Cry 4 и Assassin’s Creed Unity в высоких разрешениях и максимальных игровых настройках.

То есть, выбор у современного игрока невелик — или получай отсутствие плавности и увеличенные задержки, или довольствуйся неидеальным качеством картинки с разорванными кусками кадров. Конечно, в реальности всё выглядит далеко не так уж плохо, ведь как-то же мы играли всё это время, правда? Но во времена, когда стараются достичь идеала и в качестве и в комфорте, хочется большего. Тем более, что у ЖК-дисплеев есть принципиальная технологическая возможность выводить кадры тогда, когда на это укажет графический процессор. Дело за малым — связать GPU и монитор, и такое решение уже есть — технология Nvidia G-Sync.

Технология G-Sync — решение проблем в исполнении Nvidia

Итак, большинство современных игр в варианте с выключенной синхронизацией вызывают разрывы картинки, а с включенной — неплавную смену кадров и увеличенные задержки. Даже при высокой частоте обновления традиционные мониторы не позволяют избавиться от этих проблем. Вероятно, выбор между двумя далеко не идеальными вариантами вывода кадров в 3D-приложениях за много лет настолько надоел работникам компании Nvidia, что они решили избавиться от проблем, дав игрокам принципиально новый подход к обновлению информации на дисплее.

Разница между технологией G-Sync и существующими методами вывода изображения на дисплеи заключается в том, что время и частота вывода кадров в случае варианта Nvidia определяется графическим процессором Geforce, и она является динамически изменяемой, а не фиксированной, как это было ранее. Иными словами, в этом случае полное управление выводом кадров берёт на себя GPU — как только он заканчивает работу над очередным кадром, он выводится на монитор, без задержек и разрывов изображения.

Использование подобной связи между графическим процессором и специальным образом адаптированной аппаратной частью монитора, даёт игрокам лучший метод вывода — просто идеальный, с точки зрения качества, лишающий всех указанных нами выше проблем. G-Sync обеспечивает идеально плавную смену кадров на мониторе, без каких-либо задержек, рывков и артефактов, вызванных именно выводом визуальной информации на экран.

Естественно, G-Sync работает не волшебным образом, и для работы технологии со стороны монитора требуется добавление специальной аппаратной логики в виде небольшой платы, которую поставляет Nvidia.

Компания работает с производителями мониторов, чтобы те включили платы G-Sync в их модели игровых дисплеев. Для некоторых моделей есть даже вариант апгрейда руками самого пользователя, но такой вариант дороже, да и не имеет смысла, ведь проще сразу купить G-Sync-монитор. От ПК же достаточно присутствия в его конфигурации любой из современных видеокарт Nvidia Geforce, ну и установленного G-Sync-оптимизированного видеодрайвера — подойдёт любая из свежих версий.

При задействовании технологии Nvidia G-Sync, после окончания обработки очередного кадра 3D-сцены, графический процессор Geforce посылает специальный сигнал в плату контроллера G-Sync, встроенную в монитор, а та указывает монитору, когда нужно обновить изображение на экране. Это позволяет достичь просто идеальной плавности и отзывчивости при игре на ПК — вы можете убедиться в этом, просмотрев коротенький видеоролик (обязательно при 60 кадрах в секунду!):

Давайте посмотрим, как выглядит работа конфигурации с включенной технологией G-Sync, по нашей схеме:

Как видите, всё очень просто. Включение G-Sync привязывает частоту обновления монитора к окончанию рендеринга каждого кадра на графическом процессоре. GPU полностью контролирует работу: как только он заканчивает просчёт кадра, изображение тут же выводится на G-Sync-совместимый монитор, и в итоге получается не фиксированная частота обновления дисплея, а изменяемая — ровно как частота кадров GPU. Это устраняет проблемы с разрывом изображения (ведь оно всегда содержит информацию из одного кадра), минимизирует рывки в частоте кадров (монитор не ждёт больше времени, чем кадр физически обрабатывается на GPU) и снижает задержки вывода относительно метода с включенной вертикальной синхронизацией.

Надо сказать, что подобного решения игрокам явно не хватало, новый метод синхронизации GPU и монитора Nvidia G-Sync реально очень сильно сказывается на комфорте игры на ПК — появляется та самая почти идеальная плавность, которой не было до сих пор — в наше то время сверхмощных видеокарт! С момента анонса технологии G-Sync, старые методы вмиг стали анахронизмом и апгрейд до G-Sync-монитора, способного на изменяемую частоту обновления до 144 Гц, кажется очень привлекательным вариантом, позволяющим наконец-то избавиться от проблем, лагов и артефактов.

Есть ли у G-Sync недостатки? Конечно, как и у любой технологии. Например, у G-Sync есть неприятное ограничение, которое заключается в том, что она обеспечивает плавный вывод кадров на экран при частоте от 30 FPS. А выбранная частота обновления для монитора в режиме G-Sync устанавливает верхнюю планку скорости обновления содержимого экрана. То есть, при выставленной частоте обновления 60 Гц максимальная плавность будет обеспечиваться на частоте 30–60 FPS, а при 144 Гц — от 30 до 144 FPS, но не менее нижней границы. И при переменной частоте (к примеру, от 20 до 40 FPS), результат уже не будет идеальным, хотя и заметно лучше традиционного V-Sync.

Но самым главным недостатком G-Sync является то, что это — собственная технология компании Nvidia, к которой нет доступа у конкурентов. Поэтому, в начале уходящего года компания AMD анонсировала аналогичную технологию FreeSync — также заключающуюся в динамическом изменении кадровой частоты монитора в соответствии с подготовкой кадров от GPU. Важное отличие в том, что разработка AMD открытая и не требует дополнительных аппаратных решений в виде специализированных мониторов, так как FreeSync преобразовалась в Adaptive-Sync, ставшей опциональной частью стандарта DisplayPort 1.2a от небезызвестной организации VESA (Video Electronics Standards Association). Получается, что компания AMD умело воспользуется разработанной конкурентом темой себе во благо, так как без появления и популяризации G-Sync никакого FreeSync бы у них не было, как нам думается.

Интересно, что технология Adaptive-Sync является также частью стандарта VESA embedded DisplayPort (eDP), и уже применяется во многих компонентах для дисплеев, в которых используется eDP для передачи сигнала. Ещё одно отличие от G-Sync — участники VESA могут использовать Adaptive-Sync без необходимости какой-либо оплаты. Впрочем, весьма вероятно, что Nvidia в будущем также будет поддерживать и Adaptive-Sync, как часть стандарта DisplayPort 1.2a, ведь такая поддержка не потребует от них особых усилий. Но и от G-Sync компания не откажется, так как считает приоритетными собственные решения.

Первые мониторы с поддержкой Adaptive-Sync должны появиться в первом квартале 2015 года, они будут иметь не только порты DisplayPort 1.2a, но и специальную поддержку Adaptive-Sync (не все мониторы с поддержкой DisplayPort 1.2a смогут этим похвастать). Так, компания Samsung в марте 2015 года планирует вывести на рынок линейки мониторов Samsung UD590 (23,6 и 28 дюймов) и UE850 (23,6, 27 и 31,5 дюймов) с поддержкой разрешения UltraHD и технологии Adaptive-Sync. Компания AMD уверяет, что мониторы с поддержкой этой технологии будут до $100 дешевле аналогичных устройств с поддержкой G-Sync, но их сложно сравнивать, так как все мониторы разные и выходят в разное время. К тому же, на рынке уже есть и не такие уж дорогие G-Sync-модели.

Наглядная разница и субъективные впечатления

Выше мы описали теорию, а теперь пришло время показать всё наглядно и описать свои ощущения. Мы протестировали технологию Nvidia G-Sync на практике в нескольких 3D-приложениях, используя видеокарту Inno3D iChill Geforce GTX 780 HerculeZ X3 Ultra и монитор Asus PG278Q, поддерживающий технологию G-Sync. На рынке продаётся несколько моделей мониторов с поддержкой G-Sync от разных производителей: Asus, Acer, BenQ, AOC и других, а для монитора модели Asus VG248QE можно даже купить набор для модернизации его для поддержки G-Sync собственными силами.

Самой младшей моделью видеокарты для использования технологии G-Sync является Geforce GTX 650 Ti, с исключительно важным требованием разъёма DisplayPort на борту. Из других системных требований отметим операционную систему как минимум Microsoft Windows 7, применение хорошего кабеля DisplayPort 1.2, а также рекомендуется использование качественной мыши с высокой чувствительностью и частотой опроса. Технология G-Sync работает со всеми полноэкранными 3D-приложениями, использующими графические API OpenGL и Direct3D при запуске в операционных системах Windows 7 и 8.1.

Для работы подойдёт любой современный драйвер, который можно скачать с сайта Nvidia — G-Sync уже более года поддерживается всеми драйверами компании. При наличии всех требуемых компонентов, потребуется лишь включить G-Sync в драйверах, если это ещё не сделано, и технология будет работать во всех полноэкранных приложениях — и только в них, исходя из самого принципа работы технологии.

Чтобы включить технологию G-Sync для полноэкранных приложений и получить максимально комфортный результат, нужно включить частоту обновления 144 Гц в панели управления Nvidia или настройках рабочего стола операционной системы. Затем, нужно убедиться в том, что использование технологии разрешено на соответствующей странице «Настройка G-Sync»...

...а также — выбрать соответствующий пункт на странице «Управлении параметрами 3D» в параметре «Вертикальный синхроимпульс» глобальных параметров 3D. Там же можно и отключить использование технологии G-Sync в тестовых целях или при появлении каких-либо проблем (забегая вперёд — за время нашего тестирования таковых нами не было обнаружено).

Технология G-Sync работает на всех поддерживаемых мониторами разрешениях, вплоть до UltraHD, но в нашем случае мы использовали родное разрешение 2560×1440 пикселей при 144 Гц. В своих сравнениях с текущим положением дел, использовался режим с частотой обновления 60 Гц и отключенной технологией G-Sync, чтобы эмулировать поведение типичных мониторов без поддержки этой технологии, присутствующих у большинства игроков. Большинство из которых использует Full HD-мониторы, способные максимум режим на 60 Гц.

Обязательно надо упомянуть, что хотя при включенном G-Sync обновление экрана будет на идеальной частоте — когда этого «хочет» графический процессор, оптимальным режимом всё же будет рендеринг с частотой кадров порядка 40-60 FPS — это наиболее подходящая частота кадров для современных игр, не слишком маленькая, чтобы упереться в нижний предел 30 FPS, но и не требующая снижения настроек. К слову, именно к такой частоте стремятся в программе Geforce Experience компании Nvidia, предоставляя соответствующие настройки для популярных игр в одноименном ПО, прилагаемом в комплекте с драйверами.

Кроме игр, мы также опробовали и специализированное тестовое приложение от Nvidia — G-Sync Pendulum Demo. Это приложение показывает удобную для оценки плавности и качества 3D-сцену с маятником, позволяет имитировать разную частоту кадров и выбирать режим отображения: V-Sync Off/On и G-Sync. При помощи данного тестового ПО очень легко показать разницу между различными режимами синхронизации — например, между V-Sync On и G-Sync:

Приложение Pendulum Demo позволяет протестировать разные способы синхронизации в различных условиях, оно имитирует точную частоту кадров 60 FPS для сравнения V-Sync и G-Sync в идеальных для устаревшего способа синхронизации условиях — в этом режиме разницы между методами просто не должно быть. А вот режим 40–50 FPS ставит V-Sync On в неудобное положение, когда задержки и неплавная смена кадров видны невооруженным взглядом, так как время рендеринга кадра превышает период обновления при 60 Гц. При включении же G-Sync всё становится идеально.

Что касается сравнения режимов с отключенной V-Sync и включенным G-Sync, то и тут приложение Nvidia также помогает увидеть разницу — при частотах кадров между 40 и 60 FPS разрывы картинки видны чётко, хотя лагов меньше, чем при V-Sync On. И даже неплавный видеоряд относительно G-Sync режима заметен, хотя в теории этого не должно быть — возможно, так сказывается восприятие мозгом «разорванных» кадров.

Ну а с включенным G-Sync любой из режимов тестового приложения (постоянная частота кадров или изменяемая — не важно) всегда обеспечивается максимально плавный видеоряд. Да и в играх все проблемы традиционного подхода к обновлению информации на мониторе с фиксированной частотой обновления порой заметны чуть ли не ещё сильнее — в данном случае, вы можете наглядно оценить разницу между всеми тремя режимами на примере игры StarCraft II (просмотр ранее сохранённой записи):

Если ваша система и браузер поддерживает проигрывание формата видеоданных MP4/H.264 с частотой 60 FPS, то вы наглядно увидите, что в режиме отключенной синхронизации заметны явные разрывы картинки, при включении V-Sync наблюдаются рывки и неплавность видеоряда. Всё это пропадает при включении Nvidia G-Sync, при которой нет ни артефактов на изображении, ни увеличения задержек, ни «рваного» темпа смены кадров.

Конечно же, G-Sync — это не волшебная палочка, и от задержек и притормаживаний, вызванных не самим процессом вывода кадров на монитор с фиксированной частотой обновления, данная технология не избавит. Если в самой игре есть проблемы с плавностью вывода кадров и большие рывки в FPS, вызванные загрузкой текстур, обработкой данных на CPU, неоптимальной работой с видеопамятью, отсутствием оптимизации кода и т. д., то они останутся на месте. Более того, они станут заметны даже ещё сильнее, так как вывод остальных кадров будет идеально плавным. Впрочем, на практике на мощных системах проблемы встречается не слишком часто, и G-Sync реально улучшает восприятие динамического видеоряда.

Так как новая технология вывода Nvidia воздействует на весь конвейер вывода, то она теоретически может вызвать артефакты и неравномерность в частоте кадров, особенно если игра искусственно ограничивает FPS на какой-либо отметке. Вероятно, такие случаи если и есть, то настолько редки, что мы их даже не заметили. Зато отметили явное улучшение комфорта при игре — при игре за монитором с задействованной технологией G-Sync складывается такое впечатление, что ПК стал настолько мощнее, что способен к постоянной частоте кадров не меньше 60 FPS без каких-либо просадок.

Получаемые при игре за G-Sync монитором ощущения очень сложно описать словами. Особенно заметна разница при 40-60 FPS — частоте кадров, очень часто встречающейся в требовательных современных играх. Разница по сравнению с обычными мониторами просто потрясающая, и мы постараемся не только рассказать это словами и показать в видеопримерах, но и показать графики частоты кадров, полученные при разных режимах вывода изображения на дисплей.

В играх таких жанров, как стратегии реального времени и подобных, вроде StarCraft II, League of Legends, DotA 2 и т. д., преимущества технологии G-Sync отлично видны, как можно убедиться по примеру из видеоролика выше. Кроме этого, такие игры всегда требуют стремительных действий, не терпящих задержек и неплавности в частоте кадров, а плавный скроллинг играет довольно важную роль в комфорте, которому сильно мешают разрывы картинки при V-Sync Off, задержки и лаги при V-Sync On. Так что технология G-Sync идеально подойдёт для игр подобного типа.

Ещё больше распространены шутеры от первого лица, вроде Crysis 3 и Far Cry 4, они заодно являются и весьма требовательными к вычислительным ресурсам, и при высоких настройках качества игроки в них зачастую получают частоту кадров как раз около 30-60 FPS — идеальный вариант для применения G-Sync, реально значительно улучшающей комфорт при игре в таких условиях. Традиционный же метод вертикальной синхронизации очень часто заставит выводить кадры с частотой всего лишь 30 FPS, увеличивая лаги и рывки.

Примерно то же самое касается игр с видом от третьего лица, вроде сериалов Batman, Assassin’s Creed и Tomb Raider. Эти игры также используют новейшие графические технологии и требуют довольно мощных GPU для достижения высокой частоты кадров. При максимальных настройках в этих играх и отключении V-Sync часто получается FPS порядка 30–90, что вызывает неприятные разрывы картинки. Включение V-Sync помогает лишь в некоторых сценах с меньшими требованиями к ресурсам, а частота кадров скачет от 30 к 60 ступенчато, что вызывает замедления и рывки. А включение G-Sync решает все эти проблемы, и это отлично заметно на практике.

Результаты практических тестов

В этом разделе мы рассмотрим влияние G-Sync и V-Sync на частоту кадров — по графикам производительности можно наглядно понять, как работают разные технологии. За время тестирования мы проверили несколько игр, но далеко не всеми удобно показать разницу между V-Sync и G-Sync — некоторые игровые бенчмарки не позволяют форсировать V-Sync, другие игры не имеют удобного средства по проигрыванию точной игровой последовательности (большинство современных игр, к сожалению), третьи исполняются на нашей тестовой системе или слишком быстро или в узких пределах частоты кадров.

Так что мы остановились на игре Just Cause 2 с максимальными настройками, а также паре бенчмарков: Unigine Heaven и Unigine Valley — также при максимальных настройках качества. Частота кадров в этих приложениях изменяется в довольно широких пределах, что удобно для нашей цели — показать, что происходит с выводом кадров в различных условиях.

К сожалению, на данный момент у нас в пользовании нет программно-аппаратной системы FCAT, и мы не сможем показать графики реального FPS и записанные видеоролики в разных режимах. Вместо этого мы провели тестирование ежесекундной усреднённой и мгновенной частоты кадров при помощи известной утилиты FRAPS при частоте обновления монитора 60 и 120 Гц с использованием методов обновления экрана V-Sync On, V-Sync Off, с использованием адаптивной синхронизации Adaptive V-Sync, а также с технологией G-Sync при 144 Гц, чтобы показать наглядную разницу между новой технологией и нынешними 60 Гц мониторами с традиционной вертикальной синхронизацией.

G-Sync против V-Sync On

Начнём мы наше исследование со сравнения режимов с включенной вертикальной синхронизацией (V-Sync On) и технологией G-Sync — это наиболее показательное сравнение, в котором будет видно разницу между методами, не имеющими недостатков в виде разрыва изображения. Первым мы рассмотрим тестовое приложение Heaven при максимальных настройках качества в разрешении 2560×1440 пикселей (по клику на уменьшенных картинках открываются графики в полном разрешении):

Как видно на графике, частота кадров при включенном G-Sync и при отсутствии синхронизации практически совпадает, кроме частоты выше 60 FPS. А вот FPS в режиме с включенным методом вертикальной синхронизации заметно отличается, ведь в нём частота кадров может быть ниже или равной 60 FPS и кратной целым числам: 1, 2, 3, 4, 5, 6..., так как монитору иногда приходится показывать один и тот же предыдущий кадр по несколько периодов обновления (два, три, четыре и так далее). То есть, возможные «ступени» значения частоты кадров при V-Sync On и 60 Гц: 60, 30, 20, 15, 12, 10, ... FPS.

Эта ступенчатость отлично видна по красной линии графика — во время прогона данного теста, частота кадров часто была равна 20 или 30 FPS, и значительно реже — 60 FPS. Хотя при G-Sync и V-Sync Off (No Sync) она зачастую находилась в более широких рамках: 35–50 FPS. При включенном режиме V-Sync такая частота вывода невозможна, поэтому монитор показывает в таких случаях всегда 30 FPS — ограничивая производительность и добавляя задержки к общему времени вывода.

Надо отметить, что на графике выше показана не мгновенная частота кадров, а усреднённые значения в пределах секунды, а в реальности FPS может «скакать» куда сильнее — чуть ли не каждый кадр, что и вызывает неприятную неплавность и лаги. Для того, чтобы увидеть это наглядно, приведём пару графиков с мгновенным FPS — точнее, с графиками времени рендеринга каждого кадра в миллисекундах. Первый пример (линии несколько сдвинуты относительно друг друга, показано лишь примерное поведение в каждом режиме):

Как видите, в этом примере частота кадров в случае G-Sync изменяется более-менее плавно, а с V-Sync On — ступенчато (единичные скачки времени рендеринга есть в обоих случаях — это нормально). Для включенной вертикальной синхронизации время рендеринга и вывода кадра может быть 16,7 мс; 33,3 мс; 50 мс, что и видно на графике. В цифрах FPS это соответствует 60, 30 и 20 кадрам в секунду. Кроме этого, особой разницы между поведением двух линий нет, пики есть в обоих случаях. Рассмотрим ещё один показательный отрезок времени:

В этом случае налицо явные «метания» времени рендеринга кадров, а вместе с ними и FPS в случае с включенной вертикальной синхронизацией. Посмотрите, при V-Sync On наблюдается скачкообразное изменение времени рендеринга кадра от 16,7 мс (60 FPS) к 33,3 мс (30 FPS) и обратно — в реальности это вызывает ту самую некомфортную неплавность и явно видимые рывки видеоряда. Плавность смены кадров в случае G-Sync куда выше и играть в таком режиме будет заметно комфортнее.

Рассмотрим график FPS во втором тестовом приложении — Unigine Valley:

В этом бенчмарке мы отмечаем примерно то же самое, что и в Heaven. Частота кадров в режимах G-Sync и V-Sync Off почти совпадает (кроме пика выше 60 Гц), а включенный V-Sync вызывает явно ступенчатое изменение FPS, чаще всего показывая 30 FPS, иногда скатываясь до 20 FPS и повышаясь до 60 FPS — типичное поведение этого метода, вызывающее лаги, рывки и неплавность видеоряда.

В этом подразделе нам осталось рассмотреть отрезок из встроенного теста игры Just Cause 2:

Данная игра отлично показывает всю ущербность устаревшего метода синхронизации V-Sync On! При изменяющейся частоте кадров от 40 до 60-70 FPS, линии G-Sync и V-Sync Off почти совпадают, а вот частота кадров при V-Sync On доходит до 60 FPS лишь на отрезках малой продолжительности. То есть при реальных возможностях GPU для игры на 40-55 FPS игрок будет довольствоваться лишь 30 FPS.

Более того, на участке графика, где красная линия прыгает от 30 до 40 FPS, в реальности при просмотре изображения наблюдается явная неплавность частоты кадров — она прыгает от 60 до 30 чуть ли не каждый кадр, что явно не добавляет плавности и комфорта при игре. Но может быть с частотой обновления кадров 120 Гц вертикальная синхронизация справится лучше?

G-Sync против V-Sync 60/120 Гц

Рассмотрим два режима включенной вертикальной синхронизации V-Sync On при 60 и 120 Гц частоте обновлении изображения, сравнив их с режимом V-Sync Off (как мы определили ранее, эта линия практически идентична с G-Sync). При частоте обновления 120 Гц к уже известным нам «ступеням» FPS добавляется больше значений: 120, 40, 24, 17 FPS и т. д., что может сделать график менее ступенчатым. Посмотрим на частоту кадров в бенчмарке Heaven:

Заметно, что частота обновления 120 Гц помогает режиму V-Sync On добиться лучшей производительности и более плавной смены частоты кадров. В случаях, когда при 60 Гц на графике наблюдается 20 FPS, 120 Гц режим даёт промежуточное значение хотя бы 24 FPS. И 40 FPS вместо 30 FPS на графике явно заметны. Но ступенек стало не меньше, а даже больше, так что частота кадров при 120 Гц обновлении хоть и меняется на меньшую величину, но зато делает это чаще, что также неблагоприятно сказывается на общей плавности.

В бенчмарке Valley изменений меньше, так как средняя частота кадров ближе всего к ступени 30 FPS, доступной для обоих режимов: с частотой обновления 60 и 120 Гц. Отключенная синхронизация обеспечивает более плавную смену кадров, но с визуальными артефактами, а режимы V-Sync On снова показывают ступенчатые линии. В этом подразделе нам осталось посмотреть на игру Just Cause 2.

И снова мы наглядно видим, как ущербна вертикальная синхронизация, не обеспечивающая плавной смены кадров. Даже переход на 120 Гц частоту обновления даёт режиму V-Sync On просто всего лишь несколько дополнительных «ступенек» FPS — скачки частоты кадров туда-сюда от одной ступени к другой никуда не делись — всё это весьма неприятно ощущается при просмотре анимированных 3D-сцен, можете поверить нам на слово или снова посмотреть примеры видеороликов выше.

Влияние метода вывода на среднюю частоту кадров

А что получается со средней частотой кадров при включении всех этих режимов синхронизации, как влияет на среднюю производительность включение V-Sync и G-Sync? Примерно прикинуть потери скорости можно даже по графикам FPS, показанным выше, но мы приведём и средние значения частоты кадров, полученные нами при тестировании. Первой снова будет Unigine Heaven:

Показатели в режимах Adaptive V-Sync и V-Sync Off практически совпадают — ведь выше 60 FPS скорость почти не повышается. Логично, что включение V-Sync приводит к снижению и средней частоты кадров, так как в этом режиме используются ступенчатые показатели FPS. При 60 Гц падение средней частоты кадров составило более четверти, а включение 120 Гц вернуло лишь половину потерь в среднем FPS.

Самое интересное для нас — насколько снижается средняя частота кадров в режиме G-Sync. По какой-то причине, скорость выше 60 FPS режется, хотя на мониторе был выставлен режим 144 Гц, поэтому и скорость при включении G-Sync оказалась незначительно ниже режима с отключенной синхронизацией. В целом можно считать, что потерь нет вовсе, и их уж точно нельзя сравнить с недостатком скорости при V-Sync On. Рассмотрим второй бенчмарк — Valley.

В этом случае падение средней скорости рендеринга в режимах с включенным V-Sync снизилось, так как частота кадров всё время теста была близка к значению 30 FPS — одной из «ступеней» частоты для V-Sync в обоих режимах: 60 и 120 Гц. Ну и по понятным причинам потери во втором случае оказались чуть ниже.

При включении G-Sync средняя частота кадров снова получилась меньше той, что отмечена в режиме отключенной синхронизации, всё по той же причине — включение G-Sync «зарезало» значения FPS выше 60. Но разница невелика, и новый режим Nvidia обеспечивает заметно большую скорость, чем при включенной вертикальной синхронизации. Посмотрим последнюю диаграмму — средней частоты кадров в игре Just Cause 2:

В случае этой игры режим V-Sync On пострадал значительно сильнее, чем в тестовых приложениях на движке Unigine. Средняя частота кадров в этом режиме при 60 Гц более чем в полтора раза ниже, чем при отключенной синхронизации вовсе! Включение частоты обновления 120 Гц сильно улучшает положение, но всё же G-Sync позволяет достичь заметно большей производительности даже в средних цифрах FPS, не говоря уже о комфортности игры, которую теперь не оценить одними лишь цифрами — надо смотреть своими глазами.

Итак, в этом разделе мы выяснили, что технология G-Sync обеспечивает частоту кадров, приближенную к режиму с отключенной синхронизацией, и её включение почти не сказывается на производительности. В отличие от вертикальной синхронизации V-Sync, при включении которой частота кадров изменяется ступенчато, а зачастую наблюдаются скачки от одной ступени к другой, что вызывает неплавные движения при выводе анимированного ряда кадров и пагубно сказывается на комфорте в 3D-играх.

Иными словами, и наши субъективные впечатления и тестовые результаты говорят о том, что технология G-Sync от компании Nvidia действительно меняет визуальный комфорт от 3D-игр в лучшую сторону. Новый метод лишён как графических артефактов в виде разрывов картинки, состоящей из нескольких соседних кадров, как мы видим в режиме с отключенным V-Sync, так не наблюдается и проблем с плавностью вывода кадров на монитор и увеличением задержек вывода, как в режиме V-Sync On.

Заключение

При всех сложностях объективного измерения плавности видеовывода, сначала хочется выразить субъективную оценку. Мы были весьма впечатлены комфортностью игры на Nvidia Geforce и мониторе с поддержкой G-Sync от компании Asus. Даже разовая «живая» демонстрация G-Sync действительно производит сильное впечатление плавностью смены кадров, а уж после длительной пробы этой технологии, продолжать играть на мониторе со старыми методами вывода изображения на экран становится весьма тоскливо.

Пожалуй, G-Sync можно считать самым большим изменением в процессе вывода визуальной информации на экран за длительное время — наконец-то мы увидели что-то действительно новое в связи дисплеев и графических процессоров, что напрямую влияет на комфортность восприятия 3D-графики, да ещё и так заметно. А до анонса технологии G-Sync компанией Nvidia мы на протяжении долгих лет были привязаны к устаревшим стандартам вывода изображения, ведущим свои корни от требований ТВ- и киноиндустрии.

Конечно, хотелось бы получить подобные возможности ещё раньше, но и сейчас время для её внедрения неплохое, так как во многих требовательных 3D-играх при максимальных настройках топовые современные видеокарты обеспечивают такую частоту кадров, при которой преимущества от включения G-Sync становятся максимальными. И до появления технологии от Nvidia достигнутый в играх реализм просто «убивался» далеко не самыми лучшими способами обновления картинки на мониторе, вызывающими разрывы изображения, увеличенные задержки и рывки в частоте кадров. Технология G-Sync же позволяет избавиться от указанных проблем, приравняв частоту вывода кадров на экран к скорости рендеринга графического процессора (хоть и с некоторыми ограничениями) — этим процессом теперь заведует сам GPU.

Мы не встречали ни одного человека, попробовавшего G-Sync в работе и оставшегося недовольным этой технологией. Отзывы первых же счастливцев, протестировавших работу технологии на мероприятии Nvidia осенью прошлого года, были сплошь восторженные. Поддержали журналистов из специализированной прессы и игровые разработчики (John Carmack, Tim Sweeney и Johan Andersson) — они также дали исключительно положительные отзывы новому методу вывода. К которым теперь присоединяемся и мы — после нескольких дней использования монитора с G-Sync, на старые устройства с давно устаревшими методами синхронизации возвращаться не хочется. Ах, если бы выбор мониторов с G-Sync был больше, и не были бы они оснащены исключительно TN-матрицами...

Ну а из минусов технологии от Nvidia мы можем отметить то, что она работает при частоте кадров не менее 30 FPS, что можно считать досадным недостатком — было бы лучше, если бы и при 20-25 FPS изображение выводилось бы чётко после его подготовки на GPU. Но главный минус технологии в том, что G-Sync — собственное решение компании, которое не применяется другими производителями графических процессоров: AMD и Intel. Понять Nvidia тоже можно, ведь они потратили ресурсы на разработку и внедрение технологии и договаривались с производителями мониторов о её поддержке именно с желанием заработать. Собственно, они в очередной раз выступили двигателем технического прогресса, несмотря на кажущуюся многим якобы жадность компании до прибыли. Откроем большой «секрет»: прибыль является главной целью любой коммерческой компании, и Nvidia — не исключение.

И всё же, будущее скорее за более универсальными открытыми стандартами, аналогичными G-Sync по сути, вроде Adaptive-Sync — опциональной возможности в рамках DisplayPort 1.2a. Но появления и распространения мониторов с такой поддержкой придётся подождать ещё какое-то время — где-то до середины следующего года, а G-Sync-мониторы от разных компаний (Asus, Acer, BenQ, AOC и другие) уже продаются на протяжении нескольких месяцев, хоть и не слишком дёшево. Ничто не мешает Nvidia в будущем поддержать в том числе и Adaptive-Sync, хотя официально они по этой теме комментариев не давали. Будем надеяться, что у поклонников Geforce не только сейчас есть рабочее решение в виде G-Sync, но и в будущем появится возможность использовать динамическую частоту обновления ещё и в рамках общепринятого стандарта.

Среди других недостатков технологии Nvidia G-Sync для пользователей отметим то, что её поддержка со стороны монитора стоит производителю некую сумму, которая выливается и в увеличение розничной цены относительно стандартных мониторов. Впрочем, среди G-Sync-мониторов есть модели разной стоимости, в том числе и не слишком дорогие. Главное, что они уже продаются, и каждый игрок может получить максимум комфорта при игре прямо сейчас, и пока что только при использовании видеокарт Nvidia Geforce — за эту технологию компания ручается.



Благодарим компанию Asus Russia
и лично Влада Захарова
за предоставленный на тестирование монитор

Благодарим компанию InnoVision Russia
и лично Наталью Лагуненко
за предоставленную на тестирование видеокарту




Дополнительно

ВИКТОРИНА TT

Материнские платы какого форм-фактора можно устанавливать в корпус Thermaltake Versa C22 RGB Snow Edition?

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.