CrossFire: ответный удар ATi

Будущее вычислений — за их распараллеливанием. В нынешнем году большинство CPU, выпущенных как Intel, так и AMD, будет двухъядерным. Производители графических процессоров поняли это уже давно — внутри выпускаемых ими чипов присутствуют несколько вершинных блоков и пиксельных конвейеров. Графические данные сравнительно легко поддаются распараллеливанию, поскольку их можно разбить на пиксели и вершины. В GPU последнего поколения используется уже 24 (!) пиксельных конвейера. Вполне логичным шагом можно считать и установку в один ПК двух видеокарт, что позволит разделить нагрузку между ними.

Экскурс в историю
Одна из первых массовых реализаций такой технологии — карты Voodoo2, которые могли работать совместно, используя шину PCI. Однако с приходом скоростного порта AGP от такой технологии пришлось отказаться, поскольку AGP-шина в компьютере одна (два интерфейса AGP обойдутся слишком дорого).
О полузабытой технологии вспомнили в 2004 году, когда на рынок вышел интерфейс PCI Express (далее — PCI-E), призванный заменить как стареющую шину PCI, так и интерфейс AGP. Преимущества PCI-E очевидны: связь «точка-точка», уменьшенное число линий, высокая пропускная способность (одна линия PCI-E дает 250 Мбайт/с, причем в двух направлениях). Произведя несложный подсчет, получим для шины x16 PCI-E (которая и используется в графике) 4 Гбайт/с (в двух направлениях). Старый добрый AGP 8x давал 2 Гбайт/с, и только в направлении от ПК к графической карте (в обратном — лишь 256 Мбайт/с, причем не одновременно).
Но шина PCI-E в реальности пока что не дает для графики особых преимуществ, за исключением возможности установки двух карт. Следует отметить, что производители не видят смысла выдавать для каждой карты 16 линий PCI-E, поэтому все двухкарточные конфигурации (за исключением профессиональных) выдают на каждый слот по восемь линий. Надо сказать, такое решение вполне логично, поскольку производительности даже 8 линий более чем достаточно.
К сожалению, у двухкарточных конфигураций есть проблемы. Не ждите двукратного роста производительности. Чаще всего прирост составляет около 30%, а иногда производительность игры даже падает (!). С чем этой связано? Давайте разберемся.
Пусть одна карта обрабатывает пиксели нечетных строк, другая — четных (как в Voodoo2 SLI). Но с усложнением картинки для вычислений требуются данные всей сцены, а не отдельной ее части. Поэтому эффективно разделить нагрузку пополам удается не всегда. Одной карте требуются результаты вычисления другой, и она будет их ждать. Вот эти вот “накладные расходы”, будучи достаточно большими, и могут снизить производительность двухкарточной системы даже в сравнении с одной картой. (В тестовой лаборатории “Мегабайта” уже проводится тестирование SLI-связок и одиночных карт. О его результатах вы узнаете в одном из ближайших номеров. — прим. ред.)

nVidia SLI: первенец двухкарточных технологий
nVidia впервые заговорила о SLI в августе 2004 года. Технология вызвала у фанатов большой интерес, но осенью того же года их постигло разочарование: SLI давала прирост не во всех играх; а там, где давала, он составил не больше 50%. Чуда не получилось.
Вплоть до выхода драйверов ForceWare линейки 80.x для SLI требовались абсолютно идентичные карты: одинаковая версия BIOS, одинаковый объем и тип памяти, одинаковые версии ядра. В итоге возникали проблемы: докупив позднее вторую карту даже той же самой модели, геймер рисковал работоспособностью системы (из-за несовпадения параметров карт).
К счастью, драйверы линейки 80.x решили подобные проблемы и сегодня одинаковыми должны быть только графические процессоры. Кроме того, с новыми драйверами для включения/выключения SLI уже не нужно перегружать ПК.
Еще одно ограничение — чипсет. Сегодня SLI работает только на SLI-версии nForce4 для AMD, а также на nForce4 Intel Edition. Последний появился в марте 2005 года, так что сторонникам платформы Intel пришлось ждать полгода. Ходят слухи о возможном включении поддержки SLI на новой платформе Intel 975X, но на момент выхода статьи этот чипсет SLI не поддерживает (включить SLI в драйверах nVidia вы не сможете). Конечно, чипсет nForce4 хорош, но есть люди, которым подавай только чипсеты Intel.
Еще один момент: неудобство установки. Карты требуется соединять специальным мостиком. Причем у каждого производителя этот мостик — разной длины. В принципе, карты могут работать и без мостика, но производительность в этом случае будет просто ужасна. Кстати, с появлением последней GTX 512 случился прокол: у некоторых материнских плат слоты PCI-E x16 расположены слишком близко, поэтому первая карта с двухслотовым кулером вплотную прилегает ко второй. В результате — возможные проблемы с перегревом.
Также на большинстве материнских плат для включения SLI необходимо перетыкать маленькую платку. Лишь самые продвинутые платы позволяют включать SLI в BIOS, без копания во внутренностях ПК.
Напоследок отметим еще один недостаток: SLI будет работать только с теми играми, данные о которых внесены в драйверы. Этот список, конечно, очень большой, но все же конечный.
Подведем промежуточный технологический итог по SLI: эта технология достигла стадии зрелости только сегодня. Все изменения, которые появились с драйверами линейки 80.x, следовало представить сразу с выходом SLI на рынок.

ATi CrossFire: а мы сделаем по-своему!
Канадцев уже достаточно долго ругали за отсутствие реакции на SLI. Действительно, годовое отставание от nVidia — это уж слишком. К счастью, минувшей осенью ATi свою новую технологию представила. Работает технология по-другому: вы должны использовать две разные карты: Master-версию и обычную. Карты соединяются не мостиком, а используют специальный кабель: с выхода одной карты — на вход другой, от которой — на монитор, наподобие графических ускорителей Voodoo (когда в паре с ними использовалась обычная видеокарта).
Преимущество такого подхода очевидно: сегодня вы можете купить обычную карту, а потом, как накопите денежек, соответствующую Master-карту. К сожалению, найти Master-версии видеокарт в продаже сегодня очень непросто, особенно в Кирове. К тому же Master-версия должна использовать тот же GPU, что и у простой карты.
ATi поначалу ввела ограничение, аналогичное тому, что мы видели у nVidia: CrossFire будет работать только на соответствующих чипсетах Xpress 200 CrossFire Edition. Чипсеты выпущены под платформу Intel и AMD, но материнские платы на их основе… В продаже весьма редки. Сторонники AMD могут продолжать облизываться и искать плату на Xpress 200, а вот любителям Intel повезло больше: в ноябре Intel анонсировала новый чипсет 975X, который поддерживает ATi CrossFire. Платы на его основе появятся очень скоро, и найти их будет проще.

Режимы CrossFire
Система ATI CrossFire обеспечивает целых четыре режима работы — SuperTiling, Scissor, Alternate Frame Rendering и SuperAA.
SuperTiling — стандартный режим. Он совместим со всеми Direct3D-играми/приложениями. Картинка делится на небольшие квадраты (quad), которые расклады­ваются графическим процессором по разным конвейерам. Таким образом, в режиме SuperTiling экран разбивается наподобие шахматной доски.
Преимущества: совместим со всеми играми, обеспечивает оптимальное распределение нагрузки.
Недостатки: в некоторых играх скорость возрастает незначительно (геометрию сцены просчитывают обе карты), с OpenGL-играми этот режим не работает.
В режиме Scissor картинка делится на две части по горизонтали. Соответственно одна карта обсчитывает верхнюю часть, а вторая — нижнюю (как и в SLI). Динамическая балансировка нагрузки позволяет равномерно нагрузить обе видеокарты. Такой режим является стандартным для приложений OpenGL.
Преимущества: работает с большинством игр.
Недостатки: геометрию сцены просчитывают обе карты.
Режим Alternate Frame Rendering (AFR) распределяет нагрузку следующим образом: одна карта обсчитывает четные кадры, а вторая — нечетные. Так формируется последовательность кадров, которые быстро сменяют друг друга.
Преимущества: карты оптимально распределяют нагрузку, обеспечивается полное ускорение геометрии.
Недостатки: не работает в играх, где используется функция render-to-texture.
Последний режим — SuperAA — обеспечивает очень высокое качество изображения. Обе карты обрабатывают одинаковое изображение, но используют разные шаблоны полноэкранного сглаживания (FSAA). Затем обе картинки смешиваются в одну. В результате мы получаем сглаживание 8x по цене FSAA 4x! Кроме этого, SuperAA улучшает качество вычислений шейдеров.
Преимущества: двукратное увеличение FSAA без потери скорости.
Недостатки: не дает повышения частоты кадров.

Сравнение SLI и CrossFire: технология
Как видим, по сути технологии CrossFire и SLI не отличаются. Различны лишь реализации и названия. Поскольку CrossFire появилась на год позднее SLI, канадцам пришлось добавлять преимущества. Они таковы:
– технология работает со всеми играми под DirectX и OpenGL;
– для работы можно использовать разные видеокарты (от разных производителей, с разными частотами);
– CrossFire-версии карт работают и со старыми моделями Radeon X800/X850;
– больше режимов работы, нежели у nVidia SLI;
– поддерживается специальный режим улучшения качества изображения.

Стоит ли овчинка выделки?
Самое слабое место у nVidia SLI и ATi CrossFire — это вопрос цены. Да, технология дает прирост в ряде игр, и заметный. Но если она будет стоить как паровоз, то кому она нужна? Вы покупаете пару топовых карт за $400-500, собираете из них систему SLI/CrossFire и получаете долго­жданный прирост в 50%. Проходит полгода, появляется новое поколение карт. И теперь уже одна новая карта за $400-500 обгоняет вашу конфигурацию. Таким образом, эффект морального износа на двухкарточных конфигурациях будет бить по карману ощутимее.
Взглянем на эту проблему с другой стороны. Что, если купить две карты среднего уровня (до $200) и собрать на них SLI? Сравните эту конфигурацию с топовой картой за $400. Как вы думаете, кто выиграет? Добавьте еще и то, что SLI во многих играх не ускоряет систему.
А если посмотреть на перспективы апгрейда? Я знаю, что подумает читатель: куплю одну карту сегодня, а вторую — через полгода-год. А припомните-ка условия контракта, на который вы подписались: устанавливать карту — на том же GPU. Хорошо, купили сегодня карту за $300, через полгода она будет стоит $200. Но вдруг окажется, что $300 выгоднее потратить на карту нового поколения, которая одна даст большую производительность просто путем ее установки на замену старой? Будем экономить сотню и покупать вторую «старушку»? А год пройдет?
В общем, ситуация не такая простая. Необходимо все тщательно взвешивать, а уже потом брать SLI/CrossFire. Или не брать. Поколения графических карт меняются с такой скоростью, что за ними не успе­ваешь следить. Вкладывать ли деньги в SLI/CrossFire, зависит от конкретной ситуации и цены. Выгодное предложение? Дерзайте. Но сразу же отметим: лучше покупать SLI сразу в паре. Иначе потом модернизировать окажется себе дороже.

Заключение
ATi CrossFire и nVidia SLI — очередные вехи на пути распараллеливания вычислений. Заметный прирост производительности дают обе технологии (правда, не во всех играх). Можно надеяться, что в будущем ситуация улучшится, поскольку разработчики будут учитывать существование двухкарточных решений.
Что касается CrossFire, то, как нам кажется, этой технологии еще матереть и матереть. nVidia SLI достигла более-менее завершенного состояния только этой осенью, с драйверами линейки 80.x. Прошел целый год с момента выхода на рынок. Возможно, ATi будет более расторопной, ведь отставание нужно компенсировать. Тем более, что и поддержка Intel в виде чипсета 975X как раз подоспела.
Единственной проблемой остается цена подобных решений. Видеокарты дешевеют на глазах, и это очень сильно бьет по кошельку. Готовы вы потратить сегодня $400 на товар, который через год будет стоить в два раза дешевле? А теперь удвойте потери…
Вот когда SLI и CrossFire достигнут уровня дешевых решений, то есть можно будет купить пару карт за $100, и все игры от этого будут выигрывать, то двухкарточные решения покажут себя во всей красе. А пока что SLI и CrossFire — удел геймеров с пухлым бумажником.

В одном из ближайших номеров “Мегабайта” вы узнаете, каково реальное соотношение цена/качество для одиночных карт и SLI-связки.


Рекомендуем почитать: