DirectX 12 позволит использовать видеокарты GeForce и Radeon вместе

Проблема синхронизации нескольких графических карт стоит давно и до сих пор решена лишь частично, по крайней мере, в секторе игровых решений. Профессиональные используют сложные и дорогие системы с функцией genlock, но они обеспечивают не столь хорошую масштабируемость, как технологии AMD CrossFireX и NVIDA SLI. Ещё сложнее подружить карты разных производителей, хотя и такие попытки предпринимались — достаточно вспомнить технологию HYDRA Engine, разработанную в стенах Lucid Logix. Все они были неудачны: стабильность и совместимость такой системы оказались неудовлетворительными. Мы знаем, что новая версия DirectX под номером 12 будет гораздо более низкоуровневой, поскольку концепция высокоуровневых API, похоже, достигла потолка своих возможностей и не может более развиваться эффективно.

Одной из наиболее интересных возможностей DirectX 12, обеспеченных «близостью к железу» является Explicit Asynchronous Multi-GPU (прямая асинхронная многопроцессорная графическая система). Новый API Microsoft умеет распоряжаться ресурсами графических адаптеров куда более эффективно, в том числе, и в плане объединения их в единый пул. А как черпать из этого пула — остаётся решать разработчикам игр. И уже известно, что объем видеопамяти на нескольких видеокартах в системе больше не будет дублироваться. Это позволит отказаться от использования AFR (alternate frame rendering), главным недостатком которой является высокий уровень задержек (порядка 4 — 5 кадров отставания от действий пользователя), и перейти на более эффективные методы разделения нагрузки между графическими процессорами, такие как SFR (split frame rendering). Но самое интересное сообщают источники, которые наши зарубежные коллеги с Tom’s Hardware называют «надёжными».

Речь идёт, ни много ни мало, а о возможности объединения в единую графическую подсистему графических крат разных производителей! То, на что замахнулась и не смогла осилить Lucid Logix с помощью специального коммутатора, похоже, удалось Microsoft с чисто программным подходом к созданию нового API. Причём, в режиме, когда Radeon и GeForce могут работать не просто вместе, а и вовсе над обсчётом одного кадра. Это впечатляет. И открывает немало интересных перспектив, особенно в плане совместного использования технологий, ранее доступных только одному из двух лагерей — «зелёным», либо «красным». Так, предположительно, в связке с DirectX 12 можно будет использовать NVIDIA GeForce Experience и 3D Vision совместно с AMD True Audio и FreeSync. Скорее всего, при этом одна карта будет работать в режиме ведущей, а вторая — ведомой.

Читайте также: Новые микрочипы AMD Carrizo для мобильных ПК снизят энергопотребление на 40% в сравнении с AMD Kaveri

Вторая особенность DX 12 это асинхронное использование видеокарт, что позволяет более эффективно использовать ресурсы ускорителей. Теперь SLI конфигурации будут работать не по принципу зеркального отражения памяти, когда несколько видеокарт держало в памяти абсолютно одинаковый набор данных. Из-за этого количество видеопамяти не суммировалось и видеокарты использовали лишь доступную локально для каждого устройства память. Асинхронное использование видеокарт позволяет разбить задачи, и даже конкретные участки экрана между отдельными видеокартами. Участки будут обрабатываться индивидуально, после загрузки в память данных необходимых конкретно для этих задач. Это позволит избавиться от задержки в несколько кадров, возникающей в SLI системах вследствие того что видеокарты изначально работают над чередующимися кадрами. В DirectX 12 они смогут одновременно работать над одним и тем же кадром.

У перечисленных нововведений есть своя цена – оптимизировать использование нескольких видеокарт должны разработчики видеоигр, однако новый API по слухам упрощает эту процедуру по сравнению с предыдущими версиями DirectX.