Полностью асинхронный режим взаимодействия процессоров позволяет на одном компьютере использовать, например, видеокарты GeForce и Radeon, которые в играх, использующих DirectX 12 могут совместно обрабатывать 3D графику. В новом интерфейсе программирования приложений, доступном для разработчиков игр, появилась возможность конкретного назначения отдельных задач для любого графического процессора. Стоит отметить, что это касается не только специализированных видеокарт. Полностью асинхронный режим multi-GPU позволяет распределять задачи с постановкой также интегрированным системам графики, которые можно найти как в процессорах Intel, так и AMD. Благодаря DirectX 12, теоретически, нет никаких препятствий, чтобы заставить работать одновременно, например, «интегрированное» видеоядро Intel с видеокартой GeForce. Конечно, оба устройства должны быть совместимы с DirectX 12.

dx12_ashes_multgpu_3

Стоит отметить, что полностью асинхронный режим multi-GPU в DirectX 12 может работать двумя способами. Первый способ работает, если в компьютере есть два графических процессора или графические карты с одинаковой или очень близкой спецификацией. Это решение аналогично Nvidia SLI и AMD CrossFire, хотя, важно и то, что здесь любое количество видеокарт может быть объединено в одну графическую подсистему, в которой все растет — например графическая память. Это возможно потому, что вместо того, чтобы использовать метод AFR (Alternate Frame Rendering), в DirectX 12 используется когда-то немного забытая техника SFR (Split Frame Rendering). Чем они отличаются? Например, если в компьютере есть две видеокарты, в режиме AFR каждая из этих карт поочередно отображает  весь кадр анимации. В режиме SFR каждый кадр делится на части. Метод AFR проще в реализации, но проблема с ним заключается в том, что он требует, чтобы в памяти gpu обеих видеокарт были зеркальные данные — в обоих должно быть то же самое. Режим SFR, если он хорошо реализован, позволяет, чтобы подсистемы графической памяти обоих карточек можно было сложить,  что каждая из карт может в своей графической памяти хранить только те данные, которые нужны для визуализации своей части отдельных кадров.

Читайте также:  Настольные процессоры Intel 8-го поколения повышают скорость игры и скорость потока

dx12_ashes_multgpu_2

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

Нельзя забывать о том, что этот режим переключения графических подсистем не является абсолютно новым. Первый  раз его использовала компания AMD в своем собственном, низкоуровневом интерфейсе программирования приложений Mantle. Этот режим можно было использовать в игре Civilization: Beyond Earth. В этой игре команда компании  Firaxis, использовала технику SFR для интерфейса Mantle, в то время как реализация, использующая интерфейс DirectX 11, использует технологии AFR.

Как уже говорилось выше, доступны в DirectX 12 способы объединения GPU с использованием технологии SFR имеют свои серьезные преимущества, но в тоже время на разработчиков игр падает наибольшая ответственность за форму реализации этого решения, в то время как уменьшается значение разработки оборудования и команд, отвечающих за разработку драйверов.

Команда Anandtecha решила проверить как в тесте Ashes of The Singularity работает техника  в полностью асинхронном режиме работы GPU на практике. Для тестов были использованы различные графические карты Nvidia GeForce и Radeon, при разных разрешениях. Доступные в настоящее время тесты показывают, что лучше если основной графической картой в системе является AMD Radeon, а Nvidia GeForce используется как второстепенная карта. Так настроена платформа в Ashes of The Singularit показала себя лучше, чем обратная конфигурация. Обращаем ваше внимание на то, что это первое такого рода испытание, и не стоит сразу делать окончательные выводы, так как стоит подождать еще игры, поддерживающие DirectX 12, в которых то же самое решение будет использоваться и можно будет выполнить сравнительные тесты. Как мы писали ранее, много зависит от того, какую технику взаимодействия различных GPU выберут разработчики.