Главная » Железо » Новая статья: Сравнение производительности видеокарт в SLI и CrossFire (mGPU) под DirectX 11 и DirectX 12

Новая статья: Сравнение производительности видеокарт в SLI и CrossFire (mGPU) под DirectX 11 и DirectX 12

Но в вместо этого получилось своего рода продолжение наших недавних публикаций про API нового поколения (см. первую и вторую части исследования), ведь большинство игр из нашей тестовой методики поддерживают Direct3D 12. Эта статья была задумана как дань старой традиции: нам хотелось полюбоваться дорогими системами с несколькими GPU, как это было в 2014 и 2016 годах, а потом мы готовились с разочарованием признать, что технологии SLI и CrossFire уже утратили всякую практическую ценность. Под этим API пара видеокарт работают совсем по-иному, нежели в Direct3D 11, и нет никакого смысла ограничиваться сравнением под формально устаревшим, но все еще преобладающим интерфейсом Direct3D 11.

Да, в связи со сменой API возникли новые проблемы, связанные и c реализаций Multi-Adapter в Direct3D 12, и с пропускной способностью шины PCI Express, и с пресловутой процессорозависимостью игр. А что касается главного вопроса (осталась ли какая-то польза в SLI и CrossFire), то придется признать, что похороны двухадаптерных систем снова откладываются! Но, с другой стороны, именно Direct3D 12 несет в себе возможности для того, чтобы их преодолеть.

⇡#Мультиадаптерный рендеринг в Direct3D 11

Действительно, марка CrossFire ушла в отставку еще в прошлом году. Для начала признаем намеренную неточность в названии статьи, которую могли заметить читатели, следящие за состоянием дел в области игровой графики. Тем не менее сама технология никуда не делась, и даже в настройках драйвера Radeon по-прежнему называется именно так. Теперь AMD описывает мультиадаптерные системы термином mGPU, поскольку сфера использования CrossFire (как и NVIDIA SLI) ограничена Direct3D 11, а кто как не AMD больше всех приветствует переход к Direct3D 12.

Это заметно по тому, как сократилось разнообразие конфигураций, в которых работают SLI и CrossFire. В целом оба производителя дискретных GPU сейчас прохладно относятся к мультиадаптерному рендерингу. Драйверы AMD и NVDIA официально поддерживают не больше двух GPU. Пропали видеокарты на основе двух графических процессоров, без которых прежде не обходилось ни одно обновление архитектуры. К тому же NVIDIA загнала SLI в самый верх своей продуктовой линейки: младшей видеокартой в серии GeForce 10, которая имеет разъемы SLI, является сравнительно мощный и дорогой ускоритель GeForce GTX 1070. А ведь в 2011 году мы тестировали связки из трех и четырех видеокарт класса GeForce GTX 580, и в то время игры могли вполне неплохо загрузить три ускорителя высшего эшелона.

Но потеря интереса к SLI и CrossFire со стороны хозяев рынка видеокарт отражает общий застой этого направления, к которому привело несоответствие между сложностью технических задач и низким спросом со стороны рядовых геймеров. Конечно, именно мощные видеокарты, как правило, и устанавливают парами, а утраченная возможность использовать три или четыре графических процессора по большей части была полезна только для набора рекордных баллов в 3DMark.

Игровой движок, как и в случае одиночного GPU, отдает команды общей очередью, а драйвер распределяет их так, чтобы, пока первый графический процессор создает свой кадр видеоряда, второй GPU занимается следующим кадром (метод AFR — Alternate Frame Rendering). В концептуальном плане рендеринг при помощи множественных GPU — это вполне очевидная идея, которая логически следует из высокого параллелизма вычислений, но на практике такие технологии всегда были довольно-таки капризны и требовали постоянного внимания со стороны драйверописателей. В рамках Direct3D 11 функцию разделения нагрузки между несколькими видеоадаптерами целиком выполняет драйвер. В редких случаях используется метод SFR (Split Screen Rendering), в котором каждый GPU обрабатывает свою часть единого кадра, а Direct3D 12 предусматривает и более сложные режимы, но о последнем — чуть позже. Для полноты картины стоит заметить, что мультиадаптерный рендеринг не сводится к AFR.

При использовании метода AFR нужно считаться с ограничениями в тех ситуациях, когда существуют зависимости между последовательными кадрами, а это практически неизбежно в современных играх. В идеале процедура мультиадаптерного рендринга в Direct3D 11 прозрачна для игрового движка и не требует дополнительных усилий от его разработчиков, но на практике все совсем не так просто. Полезно использовать и проприетарный API (такой как NVAPI для GPU NVIDIA), открывающий доступ к GPU в обход уровня абстракции Direct3D, но даже в идеальных условиях не от каждой игры можно добиться хорошего масштабирования быстродействия на нескольких адаптерах. Как следствие, адекватная работа мультиадаптерной системы возможна только при наличии профилей настроек для каждой конкретной игры, благодаря которым драйвер получает подсказки о том, чем занимается движок, а разработчикам игры, в идеале, нужно понимать, что пытается сделать драйвер.

Наконец, как мы раз за разом видим по результатам группового теста GPU в какой-нибудь популярной игре, единственный адаптер высшего эшелона, скорее всего, удовлетворит любого геймера. Свой вклад в эту проблему вносит и пресловутая «процессорозависимость»: графические чипы сейчас развиваются быстрее, нежели быстродействие CPU архитектуры x86 с небольшим числом потоков, и это заметно даже в конфигурациях с одной мощной видеокартой, не говоря уже о двух. В результате побуждение наращивать кадровую частоту любой ценой сошло на нет, а раз так, то какой смысл для людей, работающих над драйверами GPU, вкладывать усилия в нишевую технологию мультиадаптерного рендеринга? С другой стороны, и разница в качестве изображения между низкими и максимальными настройками качества графики уже не та, что в золотые времена SLI и CrossFire. Пока работа продолжается (особенно со стороны NVIDIA), но с пришествием Direct3D 12 ситуация может полностью изменится — причем как в лучшую, так и в худшую сторону.

⇡#Мультиадаптерный рендеринг в Direct3D 12

В режиме Implicit Multi-Adapter задачу разделения работы между GPU выполняет драйвер — как в Direct3D 11, со всеми его плюсами и минусами. Новый графический API Microsoft предусматривает два различных подхода к программированию мультиадаптерного рендеринга. С другой стороны, в режиме Explicit Multi-Adapter ресурсами графических процессоров целиком распоряжается игровой движок, и это одновременно благословение и проклятие, ведь в таком случае все зависит от готовности разработчиков вкладывать силы в поддержку Multi-Adapter.

В частности, можно отказаться от AFR и применять сложные методы распределения нагрузки между адаптерами — такие как конвейеризация кадров (Frame Pipelining), при которой несколько GPU выполняют различные этапы рендеринга одного кадра, а проблема зависимостей между соседними кадрами отсутствует как таковая. При должном старании программисты смогут извлечь из связки GPU быстродействие, принципиально недостижимое в предыдущей версии API. К примеру, загрузить второй GPU расчетом глобального освещения, трассировки лучей, физики и так далее. Кроме того, конвейеризацию можно использовать в пользу качества рендеринга, а не частоты смены кадров.

Первый метод — это аналог SLI и CrossFire в рамках новой парадигмы мультиадаптерного рендеринга. У Explicit Multi-Adapter есть два метода реализации: Linked Node и Unlinked Node. Проще говоря, игра «видит» несколько адаптеров как один, а принадлежность команды определенному GPU определяется так называемой маской узла. Как и в этих проприетарных технологиях, работающих на уровне драйвера под Direct3D 11, здесь несколько адаптеров представлены общими очередями команд: графика, вычисления общего назначения и очередь Copy для передачи данных по шине PCI Express.

Direct3D 12 Linked Mode

В первую очередь, подразумевается общая архитектура и производительность узлов, что существенно упрощает задачу балансировки нагрузки. Linked Node имеет несколько важных достоинств. Наконец, при рендеринге методом AFR возможна передача кадров «ведущему» узлу через интерфейсы, отличные от PCI Express (то есть мостики SLI, поскольку AMD давно избавилась от специализированной шины в CrossFire). Также Linked Mode позволяет узлам напрямую обращаться к оперативной памяти друг друга, минуя системную RAM.

В частности, возможны асимметричные конфигурации из адаптеров неодинаковой мощности и различной архитектуры. В свою очередь, в Unlinked Mode каждый узел предоставляет собственный набор очередей инструкций и допускает максимально гибкое управление ресурсами GPU. Не менее заманчива возможность увеличить быстродействие дискретной графики за счет встроенного в центральный процессор GPU, который сможет выполнять финальные стадии обработки кадра (фактически, это частный случай конвейеризации кадров, и он не требует тщательной балансировки нагрузки, неизбежной в асимметричных связках GPU). Вполне жизнеспособна даже комбинация устройств AMD и NVIDIA в одной системе.

Тем не менее не всякая игра сможет использовать адаптеры в Linked Mode или, напротив, Unlinked Mode. Переход графических адаптеров в Linked Mode осуществляется на уровне драйвера, а для пользователя — включением опции SLI или CrossFire в настройках. К примеру, Ashes of the Singilarity требует активации Unlinked Mode, а остальные из наших тестов работают только в режиме Linked.

Direct3D 12 Unlinked Mode

Как сказано выше, Direct3D 12 позволяет использовать мостики по назначению в связанном режиме, но мы проверили: ни в одной из тестовых игр нет разницы по кадровой частоте между современным мостом HB SLI Bridge и простым гибким мостиком, которая в противном случае обязательно бы возникла. Чтобы получить Linked Mode под Direct3D 12 на видеокартах NVIDIA, нужно связать их мостиком, иначе драйвер просто не даст включить SLI. С другой, жесткие мостики с подсветкой, которые способны работать в двухканальном режиме и на повышенной частоте, — дорогое удовольствие, а в Direct3D 12 можно обойтись копеечным гибким интерфейсом. С одной стороны, это проблема, ведь мостик обеспечивает необходимую пропускную способность для передачи кадров между GPU в обход шины PCI Express даже в таких тяжелых режимах, как 4К.

⇡#Тестовый стенд, методика тестирования

Конфигурация тестого стенда

CPU

Intel Core i7-5960X @ 4 ГГц (100 МГц × 40), постоянная частота

Материнская плата

ASUS RAMPAGE V EXTREME

Оперативная память

Corsair Vengeance LPX, 2133 МГц, 4 × 4 Гбайт

ПЗУ

Intel SSD 520 240 Гбайт + Crucial M550 512 Гбайт

Блок питания

Corsair AX1200i, 1200 Вт

Система охлаждения CPU

Thermalright Archon

Корпус

CoolerMaster Test Bench V1.0

Монитор

NEC EA244UHD

Операционная система

Windows 10 Pro x64

ПО для GPU AMD

Все видеокарты

AMD Radeon Software Crimson ReLive Edition 18.6.1

ПО для GPU NVIDIA

Все видеокарты

NVIDIA GeForce Game Ready Driver 398.11

Бенчмарки: игры

Игра (в порядке даты выхода)

API

Настройки, метод тестирования

Полноэкранное сглаживание

1920 × 1080 / 2560 × 1440

3840 × 2160

GTA V

DirectX 11

Макс. качество. Встроенный бенчмарк

MSAA 4x + FXAA + Reflection MSAA 4x

Выкл.

The Witcher 3: Wild Hunt

DirectX 11

Макс. качество. FRAPS, локация Caer Morhen

AA + HairWorks AA 4x

Rise of the Tomb Raider

DirectX 11 / Direct3D 12

Макс. качество, VXAO выкл. Встроенный бенчмарк

SSAA 4x

Tom Clancy's The Division

DirectX 11 / Direct3D 12

Макс. качество, HFTS выкл. Встроенный бенчмарк

SMAA 1x Ultra + TAA: Supersampling

TAA: Stabilization

Deus Ex: Mankind Divided

DirectX 11 / Direct3D 12

Макс. качество. Встроенный бенчмарк

MSAA 4x

Battlefield 1

DirectX 11 / Direct3D 12

Макс. качество. OCAT, начало миссии Over the Top

TAA

Ashes of the Singularity: Escalation

DirectX 11 / Direct3D 12

Макс. качество. Встроенный бенчмарк

MSAA 4x + TAA 4x

Total War: WARHAMMER II, встроенный бенчмарк

DirectX 11 / Direct3D 12

Макс. качество. Встроенный бенчмарк (Battle Benchmark)

MSAA 4x

Far Cry 5

DirectX 11

Макс. качество. Встроенный бенчмарк

TAA

К Direct3D 11 прикованы только относительно старые игры — GTA V и The Witcher 3: Wild Hunt, а также Far Cry 5. В набор бенчмарков вошли девять игр 2016–2017 годов выпуска, среди которых шесть способны работать под API Direct3D 12.

В остальных играх SLI и CrossFire работоспособны под старым API. Что касается совместимости с мультиадаптерными системами под Direct3D 11, то она исключена в Ashes of the Singularity, а Battlefield 1 не поддерживает CrossFire.

Tom Clancy’s The Division и Total War: WARHAMMER II этой возможности лишены. В режиме Direct3D 12 две видеокарты задействованы в Ashes of the Singularity, Battlefield 1, Deus Ex: Mankind Divided и Rise of the Tomb Raider. Кроме того, в Deus Ex: Mankind Divided под Direct3D 12 не работает связка из двух ускорителей Vega 64, хотя нет никаких проблем с Radeon RX 580.

⇡#Участники тестирования

Следующая страница →

⇣ Содержание

Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Infineon покупает стартап с передовой технологией расщепления кремниевых пластин

За сумму в 124 млн евро ($139 млн) в собственность Infineon перейдут производственная площадка Siltectra и патенты на передовую технологию по холодному расщеплению кремниевых пластин на более тонкие подложки. Компания Infineon Technologies AG сообщила о договорённости приобрести молодую немецкую компанию ...

Новая статья: Проверяем слухи: тестирование трассировки лучей в Battlefield V

Но большинство пользователей, включая тех, кто успел вложить деньги в акселераторы GeForce RTX, все это время были лишены возможности увидеть ray tracing в играх своими глазами. Первые потребительские видеокарты с функциями аппаратного ускорения трассировки лучей были анонсированы почти три месяца ...