Еще раз о SLI

Кто из нас не слышал о технологии SLI. Удивительно, что такая простая идея, как объединение двух видеокарт в одну связку, не была реализована раньше. Выгода этого решения очевидна. Простой расчет показывает, что две видеокарты среднего ценового класса в сумме стоят дешевле одной дорогой модели. Работая совместно, они должны обеспечить практически двукратный прирост скорости.

Но, к сожалению, мало кому удалось испытать на практике преимущества технологии SLI. Даже несмотря на снятие целого ряда ограничений на подбор видеокарт для составления "дуальной" конфигурации. Если раньше технология SLI работала только для двух идентичных видеокарт одного производителя, сертифицированных для SLI, то теперь, после доработки драйверов, разработчики NVIDIA существенно снизили требования:

  • "дуальная" конфигурация поддерживается практически любой видеокартой GeForce, начиная с 6-го поколения;
  • желательно (но не обязательно) совпадение модели двух видеокарт;
  • тактовые частоты и даже объем видеопамяти двух карт могут различаться;
  • соединение с помощью SLI-моста не обязательно.

Увы, осталось еще одно существенное требование, обойти которое практически невозможно. Конфигурация SLI будет работать только на материнской плате, оснащенной специальным чипсетом NVIDIA. Наличия двух слотов PEG (PCI Express x16) недостаточно, драйверы не дадут активировать SLI, если не обнаружат чипсет "своего" производителя. Поддержка SLI реализована для nForce 4 SLI, nForce 590/570 SLI и nForce 680/670 SLI.

Платы на указанных чипсетах NVIDIA стоят недешево. Связано это даже не столько со стоимостью самого чипсета, сколько с уровнем оснащения самой платы. Как правило, на SLI-чипсетах выпускаются дорогие полнофункциональные модели с множеством дополнительных контроллеров и эксклюзивной комплектацией. Даже плата одного из производителей второго звена, которые обычно специализируются на дешевых решениях для бюджетных ПК, обойдется в солидную сумму. Тут уже поневоле задумаешься, не будет ли выгоднее взять плату попроще и к ней - одну, но мощную видеокарту.

 

Конечно, не все пользователи вынуждены долго прицениваться и тщательно рассчитывать свои возможности. Иногда на материнскую плату не жалко потратить больше, чем обычно. И тогда возникает вопрос: какой эффект даст SLI, стоит ли рассчитывать на эту технологию? У нас появилась возможность проверить работу SLI в идеальных условиях, когда обеим видеокартам предоставляется полноценный канал PCI Express с 16-ю линиями. Это возможно лишь на материнской плате, построенной на самом дорогом и функциональном чипсете NVIDIA - nForce 590 SLI, либо его варианте для платформы Intel - nForce 680i SLI.


Как работает SLI

Впервые технология объединения двух 3D-ускорителей была придумана еще компанией 3dfx, ныне забытым пионером 3D-графики на ПК. Даже название у нее было такое же - SLI. Но в то время она работала иначе. Две видеокарты, а точнее, два 3D-ускорителя (они не были полноценными видеокартами) прорисовывали по очереди по одной строке трехмерной сцены. В их задачи входило лишь текстурирование - закраска треугольников с выполнением фильтрации, поэтому организовать их совместную работу было намного проще.

3D-ускорители VoodDoo 2 фирмы 3dfx подключались к шине PCI, и ввиду невысокой производительности им было достаточно возможностей этой шины. В дальнейшем производители материнских плат и видеокарт перешли на использование шины AGP, которая обеспечивала намного большую пропускную способность, но, увы, изначально допускала работу только одного устройства. Видимо, по этой причине о "дуальных" конфигурациях пришлось на время забыть. Вернуться к ним стало возможно после появления более универсальной и гибкой шины PCI Express, которая не накладывала ограничений ни на количество устройств, ни на ширину конкретного канала. Видеокарты могут использовать каналы с 4, 8 или 16 линиями в зависимости от возможностей чипсета и материнской платы.

Разработчики NVIDIA не сообщают нам всех подробностей о том, как им удалось заставить две (и даже четыре) видеокарты работать совместно. Известно лишь, что в ядро современного 3D-ускорителя GeForce встроена возможность обмена информацией (данными и сигналами синхронизации) с другим ядром, выполняющим работу над той же самой трехмерной сценой. Таким образом, несколько видеокарт могут совместно выполнять построение 3D-картинки. Объединение результатов работы и вывод готовой картинки выполняется любой из видеокарт по выбору пользователя. Аппаратно обмен информацией может производиться двумя способами: либо по специализированному интерфейсу, либо по шине PCI Express.

В первом случае видеокарты должны иметь соответствующие дополнительные разъемы, их необходимо соединить с помощью моста, который обычно поставляется в комплекте с материнской платой. Он представляет собой небольшую печатную плату с двумя разъемами. Размер моста зависит от конкретной материнской платы, так как он рассчитан на установку видеокарт через один или через два слота друг от друга. Пропускная способность интерфейса SLI составляет 1 Гб/с, он используется только для обмена информацией в процессе совместного обсчета трехмерной сцены.

Во втором случае видеокартам не нужен специальный разъем, мост также не используется. Однако шина PCI Express и так загружена видеокартами довольно интенсивно - по ней постоянно передаются текстуры и информация о координатах вершин, и чем меньше собственной видеопамяти у видеокарты, тем интенсивнее этот процесс. Поэтому NVIDIA рекомендует использовать "безмостовой" способ лишь для недорогих видеокарт, которые обсчитывают 3D-сцену с небольшой скоростью и потому не перегружают основную шину. Отказ от разъема под мост SLI позволяет еще немного уменьшить их стоимость.

Совместная работа над сценой должна поддерживаться и на программном уровне. В последних версиях драйверов (ForceWare 91.xx) реализовано распределение задач между видеокартами по одной из трех схем, каждая из которых имеет свои преимущества и недостатки. Первый режим, Split Frame, самый простой и универсальный. Экран как бы "разрезается" на две части, и каждая видеокарта работает только над объектами, находящимися в ее половине. После того как работа закончена, основная видеокарта получает частично отрисованные части и "склеивает" их в одну картинку. Да, при этом выполняется много ненужной работы, ведь часть объектов может попасть в несколько частей сразу, обеим видеокартам приходится работать над геометрией и т.д. Но этот способ универсальный и подходит для всех случаев.

Второй режим, Alternate Frame, предусматривает распределение отдельных кадров между видеокартами. Каждая из них полностью прорисовывает свой кадр и передает его главной видеокарте, которая выводит его на экран в нужном порядке. Этот способ не всегда работает корректно, но обеспечивает более эффективное использование ресурсов видеокарт и, судя по отзывам пользователей, меньшее количество артефактов.

Третий режим имеет смысл применять в том случае, когда производительности у видеокарт хватает с избытком, и сдерживающим фактором в игре является скорость работы процессора. Увеличить FPS все равно нельзя, поэтому совместные усилия видеокарт следует направить на улучшение качества. Режим SLI Anti-aliasing позволяет объединить результаты полноэкранного сглаживания, выполняемого несколькими видеокартами по разным алгоритмам, и получить более высокое качество картинки.

Который из режимов следует использовать? Все три, говорит NVIDIA. Пользователю следует в каждой игре попробовать все режимы и выбрать тот, который его устраивает. Далее в настройках видеокарты создается профиль для конкретного файла запуска игры, в котором прописываются собственные настройки, включая режим SLI.


Тестируем

Для проверки эффективности работы технологии SLI мы выбрали самую подходящую, на наш взгляд, видеокарту среднего класса - GeForce 7600GS. Она построена на слегка "приторможенной" версии чипа G73, а потому имеет невысокое потребление энергии и часто оснащается пассивным охлаждением. Две такие видеокарты нормально будут восприняты блоком питания и стабилизаторами материнской платы, дополнительное охлаждение выстраивать не придется. Невысокая цена (порядка $100-140 на момент подготовки материала) делает GeForce 7600GS выгодным приобретением. Поддержка SLI в ней реализована в полной мере. Мы использовали две идентичные видеокарты фирмы Micro-Star - NX7600GS-T2D256EH. Данная видеокарта имеет стандартные частоты 400/400 МГц, оснащается памятью DDR2 объемом 256 Мб, имеет два выхода DVI-I и выход TV-out с поддержкой композитного и компонентного сигналов.

Материнская плата Gigabyte M59SLI-S5 построена на чипсете nForce 590 SLI. Каждый из мостов, входящих в состав чипсета, предоставляет видеокарте 16 линий PCI Express. При установке двух видеокарт должен активироваться режим "Link Booster", увеличивающий пропускную способность обоих каналов PCI Express и шины HyperTransport на 25%. То есть данная плата должна предоставлять видеокартам самые комфортные условия, и, следовательно, эффект от SLI должен быть максимальным. Проверим это на практике.

Мы установили процессор Athlon 64 X2 4200+, два модуля памяти Kingston DDR2-800, две видеокарты Micro-Star NX7600GS, соединили их с помощью моста SLI. В настройках драйверов (ForceWare 91.47) по очереди выбирался один из режимов - Single GPU (без SLI), Split Frame и Alternate Frame, режим Anti-aliasing решено было не использовать ввиду его неприменимости для данной конфигурации. Чтобы процессор не стал "узким местом", мы включили во всех играх не только анизотропную фильтрацию (8-sample), но и сглаживание (4х). Отдельно проверялись разрешения 1024х768 и 1600х1200.

Мы проверили работу SLI в восьми относительно свежих и требовательных 3D-играх и получили следующие результаты.

1024x768, AA 4x, AF 8x No SLI Split Frame Прирост Alternate Frame Прирост
Call of Duty 2 24.7 33.7 1.4 45 1.8
Doom 3 42.9 81.4 1.9 81.2 1.9
FarCry 35.4 61.2 1.7 61 1.7
FEAR 25 49 2.0 42 1.7
Half-Life 2: Lost Cost 38.5 46.4 1.2 18.7 0.5
Quake4 39.1 69.2 1.8 72.1 1.8
Chronicles of Riddick 32.3 62 1.9 61.5 1.9
Serious Sam 2 18.6 34.4 1.8 34.3 1.8
 
1600x1200, AA 4x, AF 8x No SLI Split Frame Прирост Alternate Frame Прирост
Call of Duty 2 11.7 22.1 1.9 22.1 1.9
Doom 3 20.1 38.3 1.9 38 1.9
FarCry 16.5 28.7 1.7 28.9 1.8
FEAR 12 23 1.9 23 1.9
Half-Life 2: Lost Cost 16.5 20.8 1.3 8 0.5
Quake4 19.6 35 1.8 36.1 1.8
Chronicles of Riddick 14.9 29.2 2.0 29.3 2.0
Serious Sam 2 7.9 14.7 1.9 15 1.9

Единственная игра, в которой технология SLI не принесла ожидаемых результатов, стала Half-Life 2. Режим Alternate Frame даже снизил вдвое FPS, а применение Split Frame позволило улучшить быстродействие всего на 20-25%. В других играх прирост быстродействия получился если не двукратным, то более чем на 70% точно. Иногда режим Split Frame оказывался более выгодным, иногда - Alternate Frame, но разница обычно незначительна.

Таким образом, тестирование позволило ответить положительно на самый главный вопрос: может ли технология SLI обеспечить близкий к двукратному прирост производительности графической подсистемы. Использование двух видеокарт GeForce 7600GS позволяет увеличить средний FPS в играх на 75-97%. Получить 100% мы не можем теоретически, так как в режиме SLI одна из видеокарт неизбежно тратит время на подготовку итоговой картинки и потому работает не на полную мощность.


Может быть, Crossfire?

У ATI есть свой вариант для построения "дуальной" конфигурации - технология Crossfire, в основе которой лежит та же идея, что и в основе SLI. Правда, разработчики из ATI взялись за работу намного позднее, из-за чего вышли на рынок с большим опозданием.

Первоначальная аппаратная реализация Crossfire была далека от совершенства. В "дуальной" конфигурации ATI необходимо присутствие специальной версии видеокарты - "Crossfire Edition", которая несет на борту дополнительный чип "Compositing Engine" и имеет специальный разъем - вход Crossfire. Сведением фрагментов в единую картинку занимается не 3D-ускоритель, а этот дополнительный чип. Данные он получает из двух источников: от 3D-ускорителя на той же плате и от второй видеокарты, к цифровому выходу которой он подключается с помощью специального кабеля. Вторая видеокарта, естественно, может быть совершенно произвольной, поддержка Crossfire от нее не требуется. Как видим, ATI посчитала слишком сложным внесение поддержки Crossfire в ядро 3D-ускорителя.

Конечно, решение NVIDIA выглядит проще и элегантнее, когда покупка подходящей материнской платы избавляет от всех хлопот. В случае ATI нужно найти еще и подходящую видеокарту, которая стоит заметно дороже стандартной. Поэтому ATI через некоторое время реализовала такой же аппаратный механизм: при построении "дуальной" конфигурации из видеокарт Radeon X1950 XT и последующих используются аналогичные разъемы и мосты между одинаковыми видеокартами. Можно обойтись и без моста, тогда "склеивание" картинки будет выполняться программно.

В отличие от NVIDIA, ATI не является серьезным игроком на рынке материнских плат. Ее чипсеты чаще применяются в ноутбуках и недорогих настольных ПК, чем в дорогих игровых машинах. Поэтому ATI не стала искусственно ограничивать поддержку Crossfire и добавила к списку совместимых чипсетов еще и Intel 975X.

С программной точки зрения, технология ATI работает аналогично. Помимо трех сходных режимов распределения нагрузки, имеется еще и четвертый - Super Tiling. Он предусматривает распределение между видеокартами не целых кадров, а нескольких небольших областей - тайлов.

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

Макс КУРМАЗ,
max@hw.by,
HW.by - Белорусский "железный" сайт

Благодарим компанию "NTTs" за предоставленные видеокарты Micro-Star

Благодарим компанию "CDL Systems" за предоставленную тестовую платформу на базе материнской платы Gigabyte

Версия для печатиВерсия для печати

Номер: 

48 за 2006 год

Рубрика: 

Hardware
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!