> > > > Тесты видеокарт AMD и NVIDIA под DirectX 12 в смешанном режиме

Тесты видеокарт AMD и NVIDIA под DirectX 12 в смешанном режиме

Опубликовано:

Microsoft2012На данный момент обсуждения идут, в основном, вокруг низкоуровневых тестов DirectX 12, поскольку меньшая избыточная вычислительная нагрузка обещает прирост производительности. Мы тоже провели несколько тестов, в том числе сценарий вызова Draw Call в 3DMark от Futuremark, а также добавили раздел тестов DirectX 12 в наших обзорах видеокарт. Но не стоит забывать, что новый API позволяет использовать видеокарты AMD и NVIDIA одновременно, теоретически складывая их ресурсы производительности.

Тест на видеокартах AMD и NVIDIA
Тест на видеокартах AMD и NVIDIA (Изображение: Anandtech)

DirectX 12 Multi-GPU Explicit Multi-Adapter или Multi Display Adapter – такими терминами сегодня описывается взаимодействие разных GPU. Технология стала возможной благодаря доступу к API на более глубоком уровне. Теперь разработчики получают более эффективные средства управления памятью и многими другими компонентами «железа». Работа систем multi-GPU под DirectX 11 была полностью в руках разработчиков драйверов. Под DirectX 12 «власть» перешла к разработчикам игр. Издание Anandtech провело первые тесты Multi-GPU Explicit Multi-Adapter. Для теста издание получило специальный билд игры Ashes of Singularity от Oxides Games.

Технология Multi-GPU

Но сначала позвольте сказать пару слов о технологии multi-GPU: появление интерфейса PCI Express для взаимодействия видеокарты и остальной системы привел к тому, что AMD и NVIDIA смогли использовать технологию AFR (Alternate Frame Rendering) для простой поддержки multi-GPU. AFR подразумевает поочередное вычисление кадров на каждом GPU. Вносить какие-либо изменения в игру или игровой движок при этом не требуется. Разработчикам AMD и NVIDIA достаточно внести в драйверы соответствующую поддержку, чтобы отличия по времени вывода отдельных кадров не приводили к появлению артефактов. AMD представила технологию сглаживания кадров Frame Pacing, NVIDIA тоже ответила собственной аппаратно-программной технологией. Кроме того, синхронизация частоты кадров между GPU и панелью дисплея в виде FreeSync и G-Sync позволяет минимизировать появление артефактов.

Но выбор аппаратной платформы оставался ограниченным. NVIDIA позволяла взаимодействие только идентичных моделей видеокарт, AMD предоставила большую гибкость, по крайней мере, использование видеокарт на одном GPU (например, Radeon R9 290 и Radeon R9 290X). Конечно, тому есть причина – видеокарты разного уровня производительности не могут в AFR рассчитывать кадры за сравнимое время. Решение может заключаться в технологии SFR (Spit Frame Rendering), но она так и не стала популярной. О SFR мы поговорим чуть позже.

Впрочем, уже совершались попытки объединить видеокарты разных производителей без использования официальных режимов SLI и Crossfire. В 2010 году LucidLogix представила технологию Hydra. С помощью дополнительного чипа и программного обеспечения технология распределяла вызовы DirectX и OpenGL между совместимыми видеокартами. Но при этом имелись весьма серьезные ограничения по аппаратной базе и по программной поддержке. Все это привело к тому, что технология Hydra так и не смогла набрать популярность, уйдя в небытие.

DirectX 12 и Multi-Adapter

С появлением DirectX 12 Microsoft представила три режима multi-adapter. В самом простом случае используется упомянутая выше технология AFR с видеокартами одного производителя AMD или NVIDIA. Но данный режим ограничивает возможности игровых разработчиков, но вместе с тем уменьшает вероятность потенциального возникновения ошибки из-за глубокого доступа к «железу». Большая часть работы для поддержки выполняется в драйвере, а не под DirectX 12.

Презентация EMAПрезентация EMA

Презентация EMA под DirectX 12

DirectX 12 обеспечивает более глубокий доступ к «железу» даже в системах multi-GPU. Для этого Microsoft представила режим Explicit Multi-Adapter (EMA). В нем игровые разработчики явно задают параметры поддержки multi-GPU. Для каждого одиночного GPU определяется доступ к памяти, описывается взаимодействие GPU между собой – и вся эта поддержка должна быть запрограммирована заранее. Ответственность за работу связки видеокарт теперь полностью лежит в руках разработчиков, что привносит определенные риски. Дополнительные усилия разработчиков не стоит недооценивать, а ошибки должен будет исправлять разработчик, а не Microsoft, AMD или NVIDIA.

Презентация EMA под DirectX 12
Презентация EMA под DirectX 12

В режиме EMA возможны два разных режима: Linked Mode и Unlinked Mode. В режиме Unlinked Mode обеспечивается базовая функциональность EMA, в режиме Linked Mode функциональность расширяется, но ограничения по используемому в комбинации «железу» становятся более строгими. Например, можно использовать только системы SLI и CrossFire под DirectX 12. В режиме Unlinked Mode вы можете комбинировать разные видеокарты, в том числе и от разных производителей. Возможна комбинация дискретного и интегрированного GPU.

Презентация EMA под DirectX 12
Презентация EMA под DirectX 12

В режиме Unlinked Mode каждый графический процессор считается самостоятельной аппаратной единицей, со своей памятью, командным процессором и т.д. EMA под DirectX 12 позволяет обмениваться данными между аппаратными единицами, причем на глубоком уровне, а не просто готовыми кадрами. Можно обмениваться частично просчитанными кадрами или данными в буферах, что позволяет выйти на новые уровни совместного рендеринга на нескольких GPU. На первый взгляд все звучит просто, стал возможен обмен данными, что открывает доступ к алгоритмам, ранее недоступным. Но на практике все сложнее. Данные придется передавать по интерфейсу PCI Express, что намного медленнее связи между GPU и локальной видеопамятью, да и задержки довольно большие. Так что разработчикам следует определить, какие данные имеет смысл передавать между GPU, чтобы интерфейс PCI Express не стал «узким местом». Также следует определиться, в каком виде передавать данные. У разных производителей и даже разных поколений GPU зачастую используются разные форматы данных, которые не всегда просто перевести из одного в другой. Придется прилагать дополнительные усилия, необходимые для реализации EMA в Unlinked Mode. Впрочем, фокусом Unlinked Mode в EMA является все же совместная работа дискретных и интегрированных GPU, но и здесь могут использоваться GPU разных производителей.

Презентация EMA под DirectX 12
Презентация EMA под DirectX 12

Режим Linked Mode можно рассматривать как форму SLI или Crossfire под DirectX 12, аппаратные ресурсы в Linked Mode комбинируются в своего рода «видеокарту». Пользователь и игровой движок «видят» только один GPU и память. Аппаратные ресурсы здесь будут использоваться более тесно и глубоко, что открывает больше возможностей, но при этом накладываются дополнительные ограничения на «железо». Самый большой потенциал производительности можно будет раскрыть через Linked Mode, а самый большой уровень гибкости – через Unlinked Mode. Если разработчики хотят приложить минимальные усилия, и им достаточно базовой функциональности системы multi-GPU, то достаточно поддержать простой вариант EMA, доверившись квалификации разработчиков драйверов AMD и NVIDIA. Но поскольку только разработчики игры в полной мере владеют всеми нюансами своего продукта, то поддержка Linked и Unlinked Mode тоже весьма желательна.

EMA в Ashes of Singularity

Oxides Games и Ashes of Singularity на прошлой неделе открыли ранний доступ Steam к своей игре. Стратегия реального времени должна выйти в 2016 году. Она станет первой игрой данного жанра с поддержкой DirectX 12, а разработчики Oxides Games первыми постарались полностью задействовать возможности DirectX 12. AMD и Microsoft в сотрудничестве со студией разработчиков смогли построить технологическую демонстрацию на основе игры. Для демонстрации EMA разработчики Oxides Games использовали технологию AFR. Они управляли распределением кадров по отдельным GPU – ранее эту работу выполнял драйвер. Также разработчикам пришлось самостоятельно решать вопрос передачи кадров от дополнительных GPU на основной, а также реализовывать сглаживание частоты кадров (Frame Pacing). Технология AFR лучше всего работает при использовании идентичных видеокарт, поскольку они справляются с расчетом кадров за близкое время. В любом случае, данная реализация идет дальше, чем привычные варианты AMD и NVIDIA. Вы можете комбинировать разные GPU от разных производителей, что позволяет одновременно работать, например, GeForce GTX Titan X с GeForce GTX 980 Ti. Но для работы все видеокарты должны поддерживать DirectX 12. И наши коллеги Anandtech провели многочисленные тесты.

Игра Ashes of Singularity по-прежнему находится в альфа-состоянии. И поддержка Unlinked Mode EMA является экспериментальной. Можно использовать только определенную комбинацию драйверов AMD и NVIDIA, но результаты оказались намного лучше, чем можно было ожидать. Oxides Games сначала будет улучшать Unlinked Mode, после чего перейдет к поддержке Linked Mode. Здесь ожидается прирост производительности в диапазоне 5-10%.

Ниже приведены результаты первых тестов:

Тесты EMA от Anandtech
Тесты EMA от Anandtech
Тесты EMA от Anandtech
Тесты EMA от Anandtech
Тесты EMA от Anandtech
Тесты EMA от Anandtech
Тесты EMA от Anandtech
Тесты EMA от Anandtech
Тесты EMA от Anandtech
Тесты EMA от Anandtech
Тесты EMA от Anandtech
Benchmarks zu EMA von Anandtech

Пару слов о результатах. Прирост производительности пары Radeon R9 X Fury и Radeon R9 Fury оказался весьма впечатляющим, то же самое можно сказать о смешанном режиме Radeon R9 Fury X и GeForce GTX 980 Ti. Выбор других основных видеокарт дает уже меньшую разницу. От Unlinked Mode могут выиграть даже старые видеокарты.

В BUILD 2015 Microsoft уже представила функционирующий режим Unlinked Mode в теории, но появление независимых тестов можно назвать хорошим признаком, указывающим на текущее состояние разработки. Но все же пока еще можно говорить только о раннем состоянии перехода с DirectX 11 на DirectX 12. Пройдет несколько месяцев, прежде чем на рынке начнут появляться игры. А до поддержки DirectX 12 всеми разработчиками пройдут годы. То же самое касается реализации всех сопредельных технологий. Большинство разработчиков наверняка довольно быстро воспользуются преимуществом производительности благодаря уменьшению избыточной нагрузки. Но до повсеместной реализации EMA, режимов Unlinked и Linked Mode пройдет намного больше времени. Геймерам пока только остается ждать соответствующей поддержки со стороны разработчиков.