Страница 6: Fast Sync и SLI HD

Проблему отсутствия синхронизации между видеовыходом видеокарты и панелью дисплея производители решили уже давно: AMD с технологией FreeSync, а NVIDIA – с G-Sync. Несмотря на технологии синхронизации, V-Sync продолжает оставаться популярной. Особенно это касается игр с очень высоким уровнем fps, таких как Counter-Strike, Dota 2 и других, где современные high-end видеокарты способны выдавать сотни fps.

Fast Sync на GeForce GTX 1080Fast Sync на GeForce GTX 1080

Fast Sync на GeForce GTX 1080

Пользователь может выбирать, активировать V-Sync или нет. Оба варианта имеют свои преимущества и недостатки. При активации V-Sync предотвращается эффект разрыва кадра (наложение двух последовательных кадров со смещением), но при этом увеличивается игровая задержка ввода из-за удержания кадров. Отключение V-Sync снижает задержки ввода, но может привести к заметным эффектам разрыва кадра. NVIDIA разработала метод, при котором буфер рендеринга отделяется от буфера дисплея. NVIDIA называет его разделением рендера и дисплея. Буфер разделяется на три зоны: Front Buffer, Back Buffer и Load Rendered Buffer. Все три буфера используются для хранения кадров, но на дисплей отправляется только самый свежий готовый кадр.

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

Fast Sync в панели управления драйвера NVIDIA
Fast Sync в панели управления драйвера NVIDIA

Fast Sync в деталях

Ниже мы рассмотрим механизм работы Fast Sync в деталях. Игровой движок выдает кадр DirectX API и драйверу. Через драйвер на GPU передаются AnimationTimeline и Draw Calls, после чего готовый кадр передается в кадровый буфер. Затем этот кадр будет выведен на дисплей при очередном обновлении.

Традиционный конвейер рендеринга кадров
Традиционный конвейер рендеринга кадров

В случае активной технологии V Sync игровому движку указывается просчитывать столько кадров, сколько можно вывести на дисплее (60 fps, 90 fps, 120 fps, 144 fps и т.д.). В результате ввод пользователя (движение мыши или нажатие клавиши на клавиатуре) может обрабатываться с задержкой. С выключенной технологией V-Sync выводится столько кадров, сколько успевает просчитывать видеокарта, задержки минимальны, но могут появиться артефакты разрыва кадров.

NVIDIA теперь разделяет вывод кадров рендера и вывод на дисплей. Отсюда и название технологии Decoupled Render and Display. На этапе рендеринга кадр проходит полный конвейер рендеринга, то есть от игрового движка через GPU, после чего поступает во временный кадровый буфер. Этап дисплея отделен и работает автономно. Для игрового движка все выглядит так, как будто технология V-Sync выключена. То есть движок может просчитывать столько кадров, сколько возможно, соответственно, и ввод пользователя на этих кадрах будет учитываться. Технология Fast Sync будет отслеживать кадровый буфер и решать, какой из кадров подходит для синхронизации на экране дисплея, соответствующий кадр и будет подан.

Decoupled Render and Display
Decoupled Render and Display

Для реализации технологии NVIDIA разделила кадровый буфер на три части. Front Buffer и Back Buffer работают так, как и в случае технологии V-Sync с двойной буферизацией. В Front Buffer кадр сканируется для вывода на дисплей, в Back Buffer сохраняется создаваемый кадр из конвейера рендеринга. При использовании V-Sync между буферами происходит обмен кадров. В новом буфере Last Rendered Buffer сохраняются все кадры, выданные Back Buffer, в том числе и наиболее свежий кадр после рендеринга для Fast Sync. То есть, по сути, происходит копирование кадров из Back Buffer в Last Rendered Buffer.

Разделенный буфер: Front Buffer, Back Buffer и Last Rendered Buffer
Разделенный буфер: Front Buffer, Back Buffer и Last Rendered Buffer

Когда Front Buffer отдаст свой кадр на дисплей, следующий кадр будет взят из Last Rendered Buffer, процесс начнется снова. Подобный механизм копирования буферов вносил бы задержку, но на самом деле буферы не копируются, а просто динамически переименовываются. В играх с высокой частотой кадров LRB и BB меняются со скоростью рендеринга кадров приложения, когда из FB будет завершен вывод кадра на монитор, нынешний LRB будет переименован в BB, чтобы выдать свежий кадр. В архитектуре Pascal за весь процесс отвечает новая логика (NVIDIA называет ее Flip Logic), но технология будет доступна и на предыдущих архитектурах.

SLI HD

В системах SLI происходит передача готовых кадров на основную видеокарту через соответствующие мостики SLI. Теоретически возможна передача через интерфейс PCI Express, но здесь пропускная способность ограничена, а задержки обычно выше, чем допускается требованиями SLI. NVIDIA обычно опирается на использование одного или двух мостиков SLI на своих видеокартах. У high-end моделей имеются два порта SLI, у карт среднего сегмента – один разъем, а видеокарты начального уровня их лишены. В ноутбуках возможна связь SLI через PCI Express, но там частота кадров и разрешение обычно ниже, поэтому особых проблем не возникает.

Схематическое представление мостиков SLI HD
Схематическое представление мостиков SLI HD

С появлением дисплеев высокого разрешения и частот обновления 144 Гц и выше требования к мостикам SLI возросли. Каналы мостиков SLI обычно работают на 400 МГц, то есть на той же частоте, что и схема управление видеовыходами. В прошлом такие производители, как ASUS, EVGA и MSI представляли особые мостики SLI, которые работали не на 400 МГц, а на 540 МГц. Соответствующее увеличение пропускной способности позволяло подключать мониторы с частотой обновления выше 144 Гц или разрешением 4К. Но все же эти мостики выходили за спецификации NVIDIA.

Если вы пожелаете собрать конфигурацию из нескольких мониторов с очень высоким разрешением, к которой подключить систему SLI из двух GeForce GTX 1080 или GTX 1070, то обычные мостики SLI могут и не справиться со своей задачей – пропускной способности может оказаться недостаточно. В таких случаях придется покупать новые мостики SLI HD, которые NVIDIA собирается предлагать. Мостики будут доступны в разных длинах. То есть вы можете выбирать нужный мостик, в зависимости от расстояния между видеокартами в слотах. Если вы переходите на другую материнскую плату с другим расстоянием, то придется покупать новый мостик. NVIDIA не планирует предлагать гибкие мостики, поскольку их нельзя сделать достаточно качественными. Цены NVIDIA пока тоже не называет.

NVIDIA рекомендует использовать старые мостики для разрешений до 2.560 x 1.440 пикселей с частотой обновления до 60 Гц. Если вы планируете играть в разрешении выше 2.560 x 1.440 пикселей с частотой обновления 120 Гц и выше, то следует использовать новые мостики.

Рекомендации NVIDIA
Разрешение 1.920 x 1.080 пикселей 2.560 x 1.440 пикселей
до 60 Гц
2.560 x 1.440 пикселей
до 120 Гц
4K 5K Surround
Стандартный мостик Ok Ok - - - -
LED-мостик Ok Ok Ok Ok - -
Новый мостик Ok Ok Ok Ok Ok Ok

В галерее выше представлена комбинация SLI из двух видеокарт GeForce GTX 1080 с мостиками двух размеров. NVIDIA подтверждает пользу от новы мостиков SLI HD результатами тестов. Ниже приведены измерения времени вывода кадров, полученные с помощью FCAT в системе SLI:

Измерения времени вывода кадров двух видеокарт GeForce GTX 1080 в SLI со старыми и новыми мостами SLI
Измерения времени вывода кадров двух видеокарт GeForce GTX 1080 в SLI со старыми и новыми мостами SLI

Черная линия демонстрирует довольно широкий разброс времени вывода кадров со старым мостиком SLI, синяя линия оказалась намного более плавной. Для тестов использовалась игра NVIDIA Middle-earth: Shadow of Mordor в разрешении 11.520 x 2.160 пикселей.