Повністю асинхронний режим взаємодії процесорів дозволяє на одному комп'ютері використовувати, наприклад, відеокарти GeForce і Radeon, які в іграх, які використовують DirectX 12 можуть спільно обробляти 3D графіку. У новому інтерфейсі програмування додатків, доступному для розробників ігор, з'явилася можливість конкретного призначення окремих завдань для будь-якого графічного процесора. Варто відзначити, що це стосується не тільки спеціалізованих відеокарт. Повністю асинхронний режим multi-GPU дозволяє розподіляти завдання з постановкою також інтегрованих систем графіки, які можна знайти як в процесорах Intel, так і AMD. Завдяки DirectX 12, теоретично, немає ніяких перешкод, щоб змусити працювати одночасно, наприклад, «інтегроване» відеоядро Intel з відеокартою GeForce. Звичайно, обидва пристрої повинні бути сумісні з DirectX 12.
Варто відзначити, що повністю асинхронний режим multi-GPU в DirectX 12 може працювати двома способами. Перший спосіб працює, якщо в комп'ютері є два графічних процесора або графічні карти з однаковою або дуже близькою специфікацією. Це рішення аналогічно Nvidia SLI і AMD CrossFire, хоча, важливо і те, що тут будь-яку кількість відеокарт може бути об'єднано в одну графічну підсистему, в якій все зростає - наприклад графічна пам'ять. Це можливо тому, що замість того, щоб використовувати метод AFR (Alternate Frame Rendering), в DirectX 12 використовується колись трохи забута техніка SFR (Split Frame Rendering). Чим вони відрізняються? Наприклад, якщо в комп'ютері є дві відеокарти, в режимі AFR кожна з цих карт по черзі відображає весь кадр анімації. У режимі SFR кожен кадр ділиться на частини. Метод AFR простіше в реалізації, але проблема з ним полягає в тому, що він вимагає, щоб в пам'яті gpu обох відеокарт були дзеркальні дані - в обох має бути те ж саме. Режим SFR, якщо він добре реалізований, дозволяє, щоб підсистеми графічної пам'яті обох карток можна було скласти, що кожна з карт може в своїй графічної пам'яті зберігати тільки ті дані, які потрібні для візуалізації своєї частини окремих кадрів.
Другий спосіб роботи в повністю асинхронному 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 виберуть розробники.
Чим вони відрізняються?