CrossFire и PCIe: сказывается ли ширина слотов на производительности?

Эта статья не является полностью самостоятельным материалом — скорее, приложением к нашему недавнему тестированию одиночных видеокарт семейств Radeon R7 и R9 и их работе в паре. Вопрос практической полезности режима CrossFire, как нам кажется, мы закрыли целиком и полностью, однако остались и некоторые интересные теоретические моменты, в основном относящиеся не к самим GPU, а к компьютерной платформе. Речь сегодня у нас пойдет об интерфейсе подключения видеокарт.

Является ли он важным? С точки зрения производителей (как графических процессоров, так и чиспетов) — очень даже: недаром же вот уже не первый год идет гонка пропускной способности интерфейсов. Во времена седой старины вся периферия обходилась шиной ISA, а потом именно видеокарты инициировали внедрение VLB и PCI. Последняя вскоре стала стандартной «для всего», однако ее опять оказалось мало именно видеокартам, что породило AGP, а затем и полный переход на PCI Express. Этот исторический процесс мы в свое время рассматривали подробно, так что сейчас лишь отметим, что на PCIe развитие с виду почти остановилось — только номера версий меняются и пропускная способность с каждой цифрой удваивается. В общем, одна линия нынешнего PCIe 3.0 — это как четыре линии того PCIe, с которого мы начинали, а ожидаемый в скором будущем PCIe 4.0×1 будет соответствовать уже х8 PCIe 1.x.

Но видеокарты практически всегда используют слот максимальной ширины — х16. Казалось бы, можно уже и «ужаться», но это наблюдается только в бюджетном сегменте —, а за его рамками, по мнению производителей, из-за увеличения мощности чипов нужно расширять и интерфейс. А производители плат и процессоров идут еще дальше и утверждают, что 16 линий мало — вдруг несколько видеокарт кто-то захочет поставить? Значит, нужно не меньше 32 — чтоб хотя бы две работали на полной скорости. А если их в процессоре всего 16 — значит, нужны специальные мосты и разветвители дополнительно.

Но нужны ли на самом деле? Вот это мы сегодня и попробуем проверить.

Конфигурация тестовых стендов

В качестве тестовой платформы мы (как и в прошлый раз) использовали Core i5–4690K в паре с 8 ГБ памяти DDR3–1600 на системной плате с чипсетом Intel Z97. Выбранная нами модель ASRock Z97 OC Formula интересна тем, что на ней есть четыре пригодных для подключения видеокарты слота PCIe x16, но режимы их работы разные. Самый первый может работать как х16 в одиночку или как х8, если занят второй и/или третий. Второй поддерживает режим х8, если третий свободен, и х4 в противном случае. Третий же и четвертый слоты — максимум х4, но один из них соответствует спецификациям PCIe 3.0 и разводится от процессора, а второй — чипсетный PCIe 2.0.

Использовали мы видеокарты на базе Radeon R7 260X. Почему не более мощные решения? А это самое мощное из поддерживающих CrossFire без соединительных мостиков. Использовать же мостики было бы, на наш взгляд, нарушением чистоты эксперимента — ведь обмен данными пойдет по ним, а мы хотим нагрузить шины. Поэтому именно R7 260Х.

Какие варианты тестировались? Во-первых, одна карта. Во-вторых и в-третьих — две в первом и втором слотах, что дает нам симметричную конфигурацию х8+х8. Почему две? Потому что с мостиком и без. Четвертый вариант — второй и третий слоты, т. е. PCIe 3.0×8+x4. И еще два варианта с использованием «чипсетного» слота — совместно с первым (как обычно и делают на платах, неспособных «расщеплять» процессорные линии по слотам) и «клинический» случай: вместе с медленным третьим.

Методика тестирования

Мы ограничились игровой методикой iXBT Game Benchmark 2015, причем не всей, а только семью играми, хорошо поддерживающими CrossFire. Все результаты были получены в разрешении 1920×1080 (Full HD) при максимальных настройках качества.

Результаты и комментарии

20-avp.png

Единственное, что можно утверждать — использование асимметричного (т. е. «процессорный» + «чипсетный» слоты) CrossFire снижает производительность, но всего-то на 2%. А вот зависимость от скорости слотов не прослеживается, так что если в руки попало две одинаковых карты — их можно использовать, даже если плата не рассчитана под multi-GPU. Все равно работать будет нормально, обеспечивая почти двукратный прирост средней частоты кадров.

22-grid2.png

Вот более пестрый случай. Игра достаточно легкая, так что и одна видеокарта неплохо справляется с работой. Две — быстрее, но тут уже «правильный» и «неправильный» CrossFire различаются процентов на 20, что сравнимо с приростом от «неправильного» в сравнении с одиночной видеокартой. То есть смысла собирать такую конфигурацию как бы и нет, но и вреда тоже.

23-metro-ll.png

«Правильный» и «неправильный» CrossFire различаются на 4%, но это тяжелый случай, где даже двух видеокарт все еще мало для полноценной игры. Однако здесь мы уже подобрались близко к нижней границе комфорта, а одиночная видеокарта и половину нужного не обеспечивает.

24-metro-2033.png

Разница между лучшим и худшим случаем — порядка 5%, одиночную же видеокарту даже худший вариант CrossFire обходит на все 50%.

25-hitman.png

Одиночной видеокарты мало, двух — в любом виде минимально хватает. Разница между разными вариантами CrossFire есть, но очень уж смешная.

27-tr.png

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

29-se2.png

Равно как и здесь, но тут уже совсем без неожиданностей.

Итого

Итак: кое-какой эффект от более быстрых интерфейсов подключения видеоускорителей вроде бы есть, однако он практически незаметен. Не наблюдается и разницы между вариантами «с мостиком/без мостика», так что в какой-то степени ограничение в виде невозможности работы без него для Radeon R9 можно считать искусственным. И раз такое ограничение есть, то и более мощным, чем мы сегодня использовали, видеокартам тип интерфейса тоже должен быть примерно безразличен.

Таким образом, вердикт простой. Как мы уже писали, особого смысла в CrossFire и SLI мы не видим: работает не везде, минимальную частоту кадров не увеличивает, стоит дороже более мощной видеокарты, и т. п. Если текущей конфигурации не хватает — лучше продать то, что есть, и купить что-нибудь помощнее. Но если нет желания возиться с продажей, а купить пару к имеющейся видеокарте можно недорого (например, бывшую в употреблении через пару лет после снятия с производства) — такой вариант вполне допустим. Особенно с учетом того, что заранее готовиться для него, покупая системную плату с увеличенным количеством линий PCIe, не следует. Не требуются и платы на старших моделях чипсетов, поддерживающих «расщепление» процессорных линий между слотами — для CrossFire подойдет и недорогая системная плата, лишь бы только в нее можно было физически установить две видеокарты, а остальное уже мелочи жизни, на которые можно не обращать внимания :)

Полный текст статьи читайте на iXBT