AMD CrossFireX (рус. перекрёстный огонь ) — технология, позволяющая одновременно использовать мощности двух и более (до четырех графических процессоров одновременно) видеокарт Radeon для построения трёхмерного изображения.
Каждая из видеокарт, используя определённый алгоритм, формирует свою часть изображения, которая передаётся в чип Composing Engine мастер-карты, имеющий собственную буферную память. Этот чип объединяет изображения каждой видеокарты и выводит финальный кадр.
В 2006 году система CrossFire формировалась путём соединения видеокарт Y-образным кабелем с задней стороны карт. В настоящее время (современные видеокарты на 2017 год , например, RX 480 уже не используют гибкие мостики и работают в режиме Crossfire без них) система уже использует специальные гибкие мостики (наподобие SLI, но имеющие свой собственный алгоритм и логику и официально называется CrossFireX.)
Технология была анонсирована на международной выставке Computex 2005 на Тайване.
Стоит заметить, что комбинации некоторых видеокарт могут оказаться гораздо более эффективными, производительными и выгодными финансово, чем одна более мощная и, соответственно, значительно более дорогая карта. Но, как и в случае с NVIDIA SLI, прирост производительности от использования двух видеокарт в системе будет наблюдаться только в приложениях, умеющих использовать 2 и более GPU. В старых играх, не умеющих работать с Multi-GPU системами, общая производительность графической составляющей останется прежней, в некоторых случаях может вообще даже снизиться; так что для любителей старых, но требовательных игр, самым верным решением будет покупка одной очень мощной видеокарты, чем покупка второй такой же и последующее объединение в CrossFireX-систему. Также стоит отметить существенный недостаток CrossFire: данная технология не работает при запуске приложения в оконном режиме.
Содержание
Содержание
Принципы построения [ править | править код ]
Для построения на компьютере CrossFireX-системы необходимо иметь:
- материнскую плату с двумя или более разъёмами PCI Express x16 (для версий R9-285, R9-290 или R9-290X ещё и с чипсетом AMD или Intel определённой модели, поддерживающей CrossFireX);
- мощный блок питания, как правило, мощностью от 700Вт;
- видеокарты с поддержкой CrossFireX;
- Специальный гибкий мостик CrossFireX для соединения видеокарт. (в старых версиях видеокарт, в более новых он не нужен, и не предусмотрен)
Видеокарты должны быть одной серии (за некоторыми исключениями), но не обязательно одной модели. При этом быстродействие и частота CrossFire-системы определяются характеристиками чипа наименее производительной видеокарты.
CrossFireX-систему можно организовать следующими способами:
- Внутреннее соединение — видеокарты объединяются с помощью специального гибкого мостика CrossFireX, при этом для соединения более, чем двух видеокарт не нужно использовать специализированные многоразъемные мостики (типа NV >[1] .
Алгоритмы построения изображений [ править | править код ]
SuperTiling [ править | править код ]
Картинка разбивается на квадраты 32×32 пикселя и принимает вид шахматной доски. Каждый квадрат обрабатывается одной видеокартой.
Scissor [ править | править код ]
Изображение разбивается на несколько частей, количество которых соответствует количеству видеокарт в связке. Каждая часть изображения обрабатывается одной видеокартой полностью.
Аналог в nVidia SLI — алгоритм Split Frame Rendering
Alternate Frame Rendering [ править | править код ]
Обработка кадров происходит поочередно: одна видеокарта обрабатывает только чётные кадры, а вторая — только нечётные. Однако, у этого алгоритма есть недостаток. Дело в том, что один кадр может быть простым, а другой сложным для обработки.
Этот алгоритм, запатентованый ATI ещё во время выпуска двухчиповой видеокарты, используется также в nVidia SLI.
SuperAA [ править | править код ]
Данный алгоритм нацелен на повышение качества изображения. Одна и та же картинка генерируется на всех видеокартах с разными шаблонами сглаживания. Видеокарта производит сглаживание кадра с некоторым шагом относительно изображения другой видеокарты. Затем полученные изображения смешиваются и выводятся. Таким образом достигается максимальные чёткость и детализованность изображения. Доступны следующие режимы сглаживания: 8x, 10x, 12x и 14x.
Аналог в nVidia SLI — SLI AA.
Dual Graphics [ править | править код ]
Dual Graphics (ранее Hybrid CrossFireX) — уникальная способность APU линейки Fusion A-серии Llano значительно (по крайней мере в теории) увеличивать общую производительность видеоподсистемы, когда интегрированный GPU работает совместно с подключенной дискретной видеоплатой, дополняя её. Ещё более удивительной является способность Llano работать с GPU, которые быстрее или медленнее чем его собственное интегрированное видеоядро — для корректной работы Dual Graphics не требует идентичного GPU и при этом он не вредит более быстрому GPU, если его производительность ниже, как происходит в CrossFire. Фактически, он приводит в равновесие доступное аппаратное обеспечение для большей производительности (например, если дискретный GPU вдвое быстрее встроенного, драйвер берёт один кадр от APU на каждые два кадра от дискретной карты).
При всей соблазнительтности подобной асимметричной реализации CrossFire, есть серьёзные недостатки:
Во-первых, это работает только в приложениях, использующих DirectX 10 или 11. И если используется DirectX 9 или более ранний игровой движок, то производительность ухудшается до самой медленной из двух установленных графических карт (однако, согласно последним заявлениям AMD, при использовании DirectX ниже 10 версии программы должны обращаться к более быстрой из двух установленных графических карт).
Во-вторых, чтобы Dual Graphics работала, коэффициент графической производительности должен быть по крайней мере «два к одному», если видеокарта в три раза быстрее GPU Llano, то Dual Graphics работать не будет.
В OpenGL Dual Graphics не поддерживается и он всегда работает на GPU, управляющем основным выходом дисплея.
Как уже понятно из названия статьи, я купил вторую видеокарту и решил воспользоваться случаем, чтобы написать подробную статью на эту тему. Начнём с самого начала — что такое Crossfire?
AMD CrossFireX (изначально называлась AMD CrossFire) — это технологии компании AMD, которые позволяют объединить несколько видеокарт в одну систему для повышения производительности компьютера в построении 3D моделей и графики. Конечно же, эта технология в основном предназначена для геймеров, притом не самых бедных, так как видеокарты и материнские платы с поддержкой данной функции находятся минимум в средней ценовой категории. Хотя цена это не единственный нюанс, который нужно знать перед покупкой, и сейчас мы их рассмотрим.
Что нужно купить в системный блок для поддержки CrossfireX
Итак, для начала перечислю то, что нам необходимо купить, чтобы построить полноценный CrossFireX:
1) Материнская плата;
2) Блок питания;
3) Две или более видеокарты.
Ссылки ведут на соответствующие разделы магазина Юлмарт, а теперь поговорим о том, как выбрать компоненты правильно:
1) Материнская плата (можно купить в ОГО.ру). Здесь, в принципе, ничего сложно нет, но перед покупкой нужно внимательно читать спецификацию на сайте производителя, так как важную информацию очень часто скрывают в магазинах. Итак, первое — это поддержка технологии CrossFireX, но здесь есть один нюанс — на материнской плате должны быть два полноценных порта PCI-E x16 работающих парно в режиме x16+x16, но можно хотя бы x8+x8 (разница составит несколько процентов, но всё-таки имеет место быть), хотя в идеале лучше использовать первый вариант. В магазинах же очень часто не раскрывают информацию о том, что два из трех портов PCI-E x16 работают в режиме х4 и хотя возможны для использования, но, из-за слабого использования второй видеокарты, становятся не пригодны для построения CrossFireX. Покупка второй видеокарты в этом случае просто никак себя не окупит. В лучшем случае об этом напишут в разделе «Дополнительная информация», но как показывает практика этого там нет. Поэтому не поленитесь зайти на официальный сайт производителя и просмотреть спецификацию к материнской плате, которую вы собрались покупать, так как здесь производитель обязан указать настоящие данные. К примеру, вот информация на сайте Gigabyte о моей материнской плате:
Чтобы несколько облегчить поиск, уже есть список чипсетов, на которых есть поддержка технологии CrossFireX, но это только приблизительный список, окончательную поддержку уточняйте в спецификации на сайте производителя.
для матплат AMD AM3+:
AMD 990FX(x16+x16, PCI-E 2.0)
AMD 990X(x8+x8, PCI-E 2.0)
для матплат AMD AM3:
AMD 890FX(x16+x16, PCI-E 2.0)
AMD 890GX(x8+x8, PCI-E 2.0)
AMD 790X(x8+x8, PCI-E 2.0)
AMD 790GX (x8+x8, PCI-E 2.0)
AMD 790FX(x16+x16, PCI-E 2.0)
для матплат Intel LGA2011:
Intel X79 (x16+x16, PCI-E 3.0)
для матплат под Intel LGA1366:
Intel X58 (x16+x16, PCI-E 2.0)
для матплат Intel LGA1156:
Intel P55 (x8+x8, PCI-E 2.0)
*здесь также важен выбор процессора, CrossFireX возможен ТОЛЬКО на процессорах Lynnfield(i5-7xx,i7-8xx). На процессорах Clarkdale(i3-5xx,i5-6xx,Pentium) — НЕВОЗМОЖЕН.
для матплат под Intel LGA1155:
Intel P67 (x8+x8, PCI-E 2.0)
Intel Z68 (x8+x8, PCI-E 2.0)
*следует обратить внимание, что мат. платы на чипсетах Intel P55/P67/Z68:
1) при наличии дополнительного чипа nForce 200 поддерживают схему х16+х16
2) могут поддерживать только схему х16+х4
для матплат AMD AM2:
AMD 580X (x16+x16, PCI-E 1.1)
AMD 790X (x8+x8, PCI-E 2.0)
AMD 790GX (x8+x8, PCI-E 2.0)
AMD 790FX(x16+x16, PCI-E 2.0)
для матплат Intel LGA775:
Intel 975X (x8+x8, PCI-E 1.1)
Intel X38 (x16+x16, PCI-E 2.0)
Intel P45 (x8+x8, PCI-E 2.0)
Intel X48 (x16+x16, PCI-E 2.0)
2) Блок питания (купить в ОГО.ру). Я уже писал полноценную статью о выборе блока питания, поэтому подробно рассказывать, как это делается, сейчас не буду. Просто при выборе теперь нужно учесть, что видеокарты будет две, соответственно должны быть провода для подключения дополнительного питания к видеокарте, а так же соответствующая мощность для питания второй видеокарты (а это от +100 до 350Вт в зависимости от видеокарты).
3) Видеокарта (купить в ОГО.ру). С ней все просто. Первое и самое важное — нужна поддержка технологии CrossFireX (всегда ваш, Кэп), и проявляется она в простом: на видеокарте должен быть соответствующий разъём для подключения CrossFire моста. В идеале лучше использовать две одинаковые видеокарты. Можно так же объединить и разные, но хоть видеокарты и будут работать полностью синхронно, более мощная видеокарта не сможет показать свои возможности полностью, так как ей придется подстраиваться под более слабую карту. На счёт фирмы говорить нет смысла, лично я при покупке карт AMD стараюсь брать фирму Sapphire, так как они являются официальными партнерами (как Asus для Nvidia). Согласно договору с AMD, производители видеокарт обязаны положить мостик для подключения видео карт в CrossFireX в коробку с видеокартой. Выглядит он вот так:
Как подключить и настроить CrossFireX
Думаю хватит теории — перейдем к практике, а точнее к подключению и настройке.
1) Устанавливаем видеокарты в разъёмы с пропускной способностью х16 (или х8). Для этого стоит обратиться к инструкции материнской платы. На моей карте от Gigabyte производитель предусмотрительно пометил данные разъемы соответствующими надписями PCIEX16_1 и PCIEX16_2 (разъёмы, которые работают в режиме х4 помечены маркировками PCIEX4_1 и PCIEX4_2).
2)Вставляем так, чтобы сработал фиксатор на разъеме. Чтобы уменьшить нагрузку на материнскую плату, лучше прикрутить винтики слева на фиксирующей панели на задней стенке корпуса.
3) Подключаем питание видеокарт и соединяем их CrossFireX мостиком.
4) Запускаем систему и входим в Windows. У меня на данный момент установлены последние бета-драйвера (AMD Catalyst™ 14.1 Beta Driver), и после запуска контрольная панель сама обнаружила соединение CrossFireX и предложила его включить, для чего следует нажать кнопку «Перейти»:
Если у вас это не произошло, в ручную открывайте AMD Catalyst Control Center, открывайте раздел «Производительность» (в расширенном представлении меню) и выбирайте AMD CrossFireX.
Здесь помечайте точкой «Включить AMD CrossFireX» и ставьте галочку на пункте «Включить AMD CrossFireX для приложений, не имеющих связанного профиля приложения». Жмём внизу «Применить».
CrossFireX включен. На будущее рекомендую устанавливать всегда самые свежие драйвера и проверять, чтобы после установки режим CrossFireX был включен.
На этом всё. Все необходимые комплектующие вы можете купить в магазине ОГО.ру. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа.
В предыдущей статье мы рассмотрели технологию объединения несколько видеокарт для их совместной работы от 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, отходящий от мастер-карты:
Это было жутко неудобно, и в будущем ATI пришла к тому же, что и Nvidia сразу — данные передаются через специальный мостик, и такого понятия как master или slave больше нет (а еще дальше уже компания AMD, купившая ATI, вообще отказалась от мостиков). И если это первое отличие было в минус ATI, то вот второе наоборот, в плюс: если в SLI можно объединять видеокарты только одной серии, то в случае с ATI видеокарты могут быть даже разных поколений.
В дальнейшем, в 2008 году, компания AMD представили Quad CrossFireX — технологию, позволяющую объединять до четырех видеокарт вместе, и сейчас технология объединения видеокарт называется AMD CrossFireX (или, сокращенно, CF).
Алгоритмы построения изображения с использованием CF
Первый алгоритм не является новым — его так же успешно применяет и Nvidia. Называется он Slicing (Нарезка), и заключается в том, что кадр делится на две части — одну обрабатывает одна видеокарта, другую — другая:
Причем части не обязательно могут быть одинаковыми: все зависит от сложности сцены, и области рендеринга для каждой видеокарты могут быть свои. Для игр этот алгоритм подходит слабо, потому что заранее просчитать сложность кадра невозможно.
Второй алгоритм ATI/AMD придумали сами. Он называется Tiling (от англ. tile — плитка). Суть алгоритма в том, что весь кадр делится на «плитки» по 32х32 пикселя каждая, и каждая видеокарта в шахматном порядке готовит свою половину плиток:
Плюс этого метода — на каждую из двух видеокарт будет приходиться в среднем половина нагрузки, то есть нет такого, как в Slicing, когда одной видеокарте досталось в игре небо и она подготовила кадр за 5 мс, а другой досталась куча текстур земли, зданий и так далее, и она подготовила кадр за 20 мс: тут каждой из видеокарт досталось и небо, и текстуры земли и других объектов. Но, как и следовало ожидать, есть и минусы: во-первых, требуется максимально точное соответствие характеристик видеокарт: если в Slicing кадр можно делить пропорционально производительности каждой из GPU, то в Tiling разделение нагрузки идет ровно пополам, поэтому видеокарты должны быть полностью идентичны. Во-вторых, между картами не делится геометрическая нагрузка, но в играх обычно она невысокая и проблем с этим не бывает.
Третий алгоритм, AFR, общий с Nvidia — каждая из видеокарт готовит кадры поочередно:
Плюсы те же — никаких артефактов при отрисовке кадра, можно легко распараллелить нагрузку и на 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К на ультра-настройках графики.