Что подобное AMD CrossFireX

    AMD_Crossfire_Technology_logo_2014.svg.png

    В предшествующей статье мы рассмотрели технологию объединения несколько видеокарт для их общей работы от Nvidia — SLI (советую ознакомиться с ней, потому что я буду на нее ссылаться), сейчас же рассмотрим схожую технологию от их конкурентов — AMD CrossFireX.


    История ATI CrossFire

    В баста 90ых дела у ATI шли не очень хорошо — в 1999 Nvidia представила за один год аж два новоиспеченных поколения — Riva TNT2 и GeForce 256. 3dfx, второй конкурент, в 1998 годку представил технологию SLI, позволяющую объединять две видеокарты Voodoo2 совместно на одном ПК. А вот ATI смогла представить лишь RAGE 128 (и чуть впоследствии разогнанную версию PRO), в которых ничего инновационного не было. Поняв, что так и выскочить с рынка видеокарт недолго, они решили скопировать технологию SLI у 3dfx и выпустили «двухголовочную» видеокарту ATI RAGE FURY MAXX, которая включала в себе два GPU RAGE 128 PRO. Сама технология объединения видеочипов называлась MAXX (Multiple ASIC Technology), и водилась чисто программной: каждый из графических процессоров полностью готовит одинокий кадр, и при выводе на экран они чередуются. По сути это была вылитая разработка AFR (Alternate Frame Rendering), которая применяется до сих пор.

    Но, однако, видеокарта FURY MAXX попросту имела два GPU, объединять две видеокарты от ATI было нельзя — в те времена водилась шина AGP, и этот порт на материнских платах был только один. В 2004 г была представлена шина PCI Express, которая позволяла делить силуэт — а значит и делать несколько портов и подключать несколько видеокарт. Данным воспользовалась и Nvidia, представив новую технологию SLI, и ATI, сменившая название MAXX на CrossFire.

    Различий между ними тогда хватало: для создания CrossFire потребна была так называемая мастер-карта — она имела внутри чип наложения, позволяющий приобретать данные с карты-слэйва (slave) и сочетать их попиксельно с основной картой. Фронт происходило через специальный кабель DVI-DMS, а подключение монитора — сквозь еще один коннектор DVI, отходящий от мастер-карты:

    008.jpg

    Это было жутко неудобно, и в иметься в наличии ATI пришла к тому же, что и Nvidia сразу — данные передаются через особенный мостик, и такого понятия как master или slave больше нет (а еще дальше уже фирма AMD, купившая ATI, вообще отказалась от мостиков). И если это первое отличие имелось в минус ATI, то вот второе наоборот, в плюс: если в SLI можно объединять видеокарты токмо одной серии, то в случае с ATI видеокарты могут быть даже различных поколений. 

    В дальнейшем, в 2008 году, компания AMD передали Quad CrossFireX — технологию, позволяющую объединять до четырех видеокарт неразлучно, и сейчас технология объединения видеокарт называется AMD CrossFireX (или, сокращенно, CF).

    Методы построения изображения с использованием CF

    Первый алгоритм не является новым — его так же удачно применяет и Nvidia. Называется он Slicing (Нарезка), и заключается в том, что кадр дробится на две части — одну обрабатывает одна видеокарта, другую — другая: 

    Scissor.png

    При всем этом части не обязательно могут быть одинаковыми: все зависит от сложности сцены, и зоне рендеринга для каждой видеокарты могут быть свои. Для игр этот метод подходит слабо, потому что заранее просчитать сложность кадра возможности нет.

    Второй алгоритм ATI/AMD придумали сами. Он называется Tiling (от англ. tile — изразец). Суть алгоритма в том, что весь кадр делится на «плитки» по 32х32 пикселя любая, и каждая видеокарта в шахматном порядке готовит свою половину плиток:

    SuperTiling.png

    Преимущество этого метода — на каждую из двух видеокарт будет приходиться в обычном половина нагрузки, то есть нет такого, как в Slicing, когда одной видеокарте далось в игре небо и она подготовила кадр за 5 мс, а другой досталась куча структур земли, зданий и так далее, и она подготовила кадр за 20 мс: тут каждой из видеокарт далось и небо, и текстуры земли и других объектов. Но, как и следовало ожидать, кушать и минусы: во-первых, требуется максимально точное соответствие характеристик видеокарт: Когда в Slicing кадр можно делить пропорционально производительности каждой из GPU, то в Tiling раздвоение нагрузки идет ровно пополам, поэтому видеокарты должны составлять полностью идентичны. Во-вторых, между картами не делится геометрическая перегрузка, но в играх обычно она невысокая и проблем с этим не бывает.

    Третий метод, AFR, общий с Nvidia — каждая из видеокарт готовит кадры поочередно:

    Alternate_Frame_Rendering.png

    Плюсы те же — безличных артефактов при отрисовке кадра, можно легко распараллелить нагрузку и на 4 GPU. Недостаток — все кадры имеют разную сложность, что может привести к дерганой рисунки при низком fps.

    И последний алгоритм «честного» CrossFire — это SuperAA (супер-сглаживание). Начало схож с таковым у SLI AA — каждая видеокарта сглаживает картинку с некоторым шажком относительно другой, и потом полученные картинки склеиваются в один любовник. Однако отличия от SLI AA все же есть — в случае с Nvidia используется MSAA ослабление, в случае с AMD — SSAA (оно дает картинку чуть лучше, но и требует более ресурсов). Доступны режимы сглаживания от х8 до х14 (напомню, что у Nvidia экстремум это х32).

    В случае с ноутбуками на APU от AMD, включающих в себя как процессор, так и встроенную графику, AMD определилась хитрее Nvidia: если в ноутбуке есть дискретная графика от AMD, то ее не грех объединить с интегрированной в режиме Dual Graphics, когда работают обе видеокарты (припомню, что у Nvidia есть технология Optimus, которая позволяет использовать или разрывную графику, или интегрированную, но никак не вместе). Однако у этого метода употреблять свои ограничения: во-первых, он работает только с DirectX 10 и превыше (в принципе, с учетом того, что игры с DirectX 9 старые и нетребовательные по нынешним меркам — CF там и не нужен). Во-вторых, разница в производительности дискретной и интегрированной видеокарт не в силах быть больше двухкратной, то есть объединить вместе интегрированную в APU графику с какой-либо R9 M390 увы, не получится (опять же — тут интегрированная графика как пятое скат в телеге и будет только мешаться, так что AMD в принципе поступили правильно).

    Целые требования для CrossFireX

    Здесь почти все тоже, что и для SLI от Nvidia (поэтому дальнейший раз переписывать требования я не буду), однако есть одно важное отличие — вообще не нужны мостики для связи видеокарт (забавно — в тысячной линейке Nvidia не исключительно не отказалась от мостиков для SLI — она ввела новые, еще более быстрые), контроллер CF сегодня находится на самой плате видеокарты, а данные передаются через PCI-E. Более существенных различий нет — все так же подключаются видеокарты одной серии, все так же объем памяти ограничивается таким у самой слабой видеокарты в DX 11 и суммируется в DX 12.

    И самый главный альтернатива — имеет ли смысл делать CF? Да, имеет. Тут все просто — приверженцы «зеленых» имеют все шансы купить одну GTX 1080 Ti, которой за запасом хватит для всех нынешных игр, поэтому SLI для игр в принципе не нужен. У AMD пока что самая мощная графика это RX 580, какая вообще говоря находится на уровне обновленных GTX 1060, и которой немало лишь для FHD (в 2К придется существенно снижать настройки, или же играть с 30-40 fps). Так что тут CF имеет резон — две RX 580 позволят нормально играть в 2К на ультра-настройках графики. 

    Добавить комментарий

    Ваш e-mail не будет опубликован. Обязательные поля помечены *