AMD Radeon HD 7870:

описание видеокарты и результаты синтетических тестов


Содержание

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

Плата

AMD Radeon HD 7870 GHz Edition 2048 МБ 256-битной GDDR5 PCI-E
  • GPU: Radeon HD 7870 (Pitcairn)
  • Интерфейс: PCI Express x16
  • Частота работы GPU (ROPs): 1000 МГц (номинал — 1000 МГц)
  • Частота работы памяти (физическая (эффективная)): 1200 (4800) МГц (номинал — 1200 (4800) МГц)
  • Ширина шины обмена с памятью: 256 бит
  • Число вычислительных блоков в GPU/частота работы блоков: 20/1000 МГц (номинал — 20/1000 МГц)
  • Число операций (ALU) в блоке: 64
  • Суммарное число операций (ALU): 1280
  • Число блоков текстурирования: 80 (BLF/TLF/ANIS)
  • Число блоков растеризации (ROP): 32
  • Размеры: 255×100×33 мм (последняя величина — максимальная толщина видеокарты)
  • Цвет текстолита: черный
  • Энергопотребление (пиковое в 3D/в режиме 2D/в режиме «сна»): 178/57/3 Вт
  • Выходные гнезда: 1×DVI (Dual-Link/VGA), 1×HDMI 1.4a, 2×Mini-DisplayPort 1.2
  • Поддержка многопроцессорной работы: CrossFire X (Hardware)

AMD Radeon HD 7870 GHz Edition 2048 МБ 256-битной GDDR5 PCI-E
Карта имеет 2048 МБ памяти GDDR5 SDRAM, размещенной в 8 микросхемах на лицевой сторонe PCB.

Микросхемы памяти Hynix (GDDR5). Микросхемы рассчитаны на максимальную частоту работы в 1250 (5000) МГц.

Сравнение с эталонным дизайном HD 6970, вид спереди
AMD Radeon HD 7870 GHz Edition 2048 МБ 256-битной GDDR5 PCI-E Reference card AMD Radeon HD 6970

Сравнение с эталонным дизайном HD 6970, вид сзади
AMD Radeon HD 7870 GHz Edition 2048 МБ 256-битной GDDR5 PCI-E Reference card AMD Radeon HD 6970

Мы не зря сравнили HD 7870 и HD 6970: обе карты имеют PCB с 256-битной шиной, да и чипы соразмерные по производительности. Однако схожесть, по сути, осталась только в размещении микросхем памяти вокруг ядра. Все остальное существенно переделано: во-первых, блок питания несколько упрощен, да и перенесен поближе к выводным гнездам. Во-вторых, уменьшилась длина печатной платы, в-третьих, из-за более тонкого техпроцесса ядра продукт суммарно потребляет меньше, поэтому стало возможным ограничиться установкой двух 6-контактных разъемов дополнительного питания, а не 8+6, как у HD 6970. Да и само ядро уменьшилось по площади.

Подключение к аналоговым мониторам с d-Sub (VGA) производится через специальные адаптеры-переходники DVI-to-d-Sub. Также не должно быть проблем с HDMI: ускорители поддерживают полноценную передачу видео и звука на HDMI-приемник, поскольку обладают собственным звуковым кодеком.

Отметим особо, что карта имеет видеовыходы DisplayPort версии 1.2, поэтому есть возможность с помощью специальных хабов выводить картинку с каждого порта DP на три монитора (в сумме — на шесть).

Напомним также, что топовые продукты AMD обладают поддержкой технологии AMD Eyefinity, обеспечивая вывод картинки игры одновременно на несколько мониторов. Правда, кажется сомнительным, что производительности HD 7870 будет хватать для обеспечения приемлемой играбельности в сверхвысоком разрешении, требуемом суммарно для трех мониторов. (Наши измерения показали, что HD 7870 на повышенных частотах работы обеспечивает производительность подчас даже выше, чем у HD 7950, но не будем забегать вперед.)

Отметим также, что все серийно выпускаемые ускорители серии 79хх и 78хх будут иметь в комплектах поставки адаптеры DP-to-DVI, что позволит выводить изображение на 2 или 3 монитора со входами DVI, и следовательно, Eyefinity можно будет организовывать не только с помощью мониторов со входами DP. Это резко увеличивает привлекательность данной технологии.

Максимальные разрешения и частоты:

  • 240 Гц — максимальная частота обновления
  • 2048×1536@85 Гц — по аналоговому интерфейсу
  • 2560×1600@60 Гц — по цифровому интерфейсу (для DVI-гнезд с Dual-Link/HDMI)

Что касается возможностей по ускорению декодирования видео — в 2007 году мы проводили такое исследование, с ним можно ознакомиться здесь.

Напомним, что карта требует дополнительного питания, причем двумя 6-контактными разъемами.

И еще раз стоит специально сказать о возможности ухода видеокарты в глубокий «сон». В стандартных настройках энергосбережения Windows предусмотрено гашение монитора через некоторое время неактивности системы, и у множества людей по всему миру компьютеры регулярно входят в этот режим. Остальные компоненты системного блока при этом свой режим работы не меняют (кроме, конечно, центрального процессора, уходящего в сон) — в частности, видеокарта продолжает работать в режиме 2D и на заданных для этого режима частотах. Так вот, теперь Radeon HD 7xxx при отключении монитора резко сбрасывает частоты работы, потребляя лишь 3 Вт, и при этом останавливается вентилятор! Это позволяет в целом снизить шум системного блока и потребление энергии; кроме того, кулер в это время не всасывает в себя пыль. Но и этого мало. При работе в системе CrossFire из двух или более карт 7xхх, как только завершается работа в 3D-режиме (игрок возвращается в 2D), в работе остается только первая карта, а все остальные точно так же уходят в «сон», потребляя 3 Вт и выключая свои вентиляторы. Эта особенность новых ускорителей нам очень понравилась!

О системе охлаждения.

AMD Radeon HD 7870 GHz Edition 2048 МБ 256-битной GDDR5 PCI-E
Устройство состоит из двух частей: главного радиатора и кожуха.

Главный радиатор базируется на испарительной камере — такой вид кулера AMD начала использовать еще на картах HD 6970. Испарительная камера сделана из медного сплава, одной стороной она прижимается к ядру и микросхемам памяти (через специальные термоинтерфейсы), а с другой стороны имеет массивное оребрение, через которое гонит воздух цилиндрический вентилятор, закрепленный на одном конце кожуха. Данный вариант кулера является очень эффективным, причем охлаждает он одновременно ядро и микросхемы памяти.

Вентилятор в 2D-режиме работает на очень малых оборотах, и даже в 3D максимальная раскрутка, которую мы лицезрели, составляла всего 34% от предельной. Шума даже в таком случае не было слышно.

Мы провели исследование температурного режима с помощью утилиты MSI Afterburner (автор А. Николайчук AKA Unwinder) и получили следующие результаты (на номинальных частотах и при сильном разгоне):

AMD Radeon HD 7870 GHz Edition 2048 МБ 256-битной GDDR5 PCI-E — номинальные частоты
AMD Radeon HD 7870 GHz Edition 2048 МБ 256-битной GDDR5 PCI-E — повышенные частоты

Во-первых, надо сразу отметить, что ускоритель разгоняется просто шикарно! Мы получили прирост по частоте ядра в 150 МГц! И при этом максимальная температура на ядре поднялась всего на пару градусов. Во-вторых, мы видим, что в целом нагрев не выше 80 градусов, что для такого рода ускорителей более чем хорошо. В-третьих, замечаем, что обороты кулера после 6 часов под нагрузкой особо не выросли. СО — отличная!

Видеокарта прибыла к нам без упаковки и комплекта, потому вопрос комплектации мы опускаем.

Установка и драйверы

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

  • Компьютер на базе Intel Core i7-975 (Socket 1366)
    • процессор Intel Core i7-975 (3340 МГц);
    • системная плата Asus P6T Deluxe на чипсете Intel X58;
    • оперативная память 6 ГБ DDR3 SDRAM Corsair 1600 МГц;
    • жесткий диск WD Caviar SE WD1600JD 160 ГБ SATA;
    • блок питания Tagan TG900-BZ 900 Вт.
  • операционная система Windows 7 64-битная; DirectX 11;
  • монитор Dell 3007WFP (30″);
  • драйверы AMD версии Catalyst 12.3; Nvidia версии 295.72

VSync отключен.

Синтетические тесты

Используемые нами пакеты синтетических тестов можно скачать здесь:

Для работы RightMark3D 2.0 требуется установленный пакет MS Visual Studio 2005 runtime, а также последнее обновление DirectX runtime.

В качестве синтетических тестов DirectX 11 мы использовали примеры из пакетов SDK компаний Microsoft и AMD, а также демонстрационной программой Nvidia. Во-первых, это HDRToneMappingCS11.exe и NBodyGravityCS11.exe из комплекта DirectX SDK (February 2010).

Мы взяли и приложения обоих производителей видеочипов: Nvidia и AMD. Из ATI Radeon SDK были взяты примеры DetailTessellation11 и PNTriangles11 (они также есть и в DirectX SDK). Дополнительно использовалась демонстрационная программа компании Nvidia — Realistic Water Terrain, также известная как Island11 (автор — Тимофей Чеблоков, известный специалист 3D-графики).

Синтетические тесты проводились на следующих видеокартах:

  • Radeon HD 7870 со стандартными параметрами (далее HD 7870)
  • Radeon HD 7950 со стандартными параметрами (далее HD 7950)
  • Radeon HD 7770 со стандартными параметрами (далее HD 7770)
  • Radeon HD 6970 со стандартными параметрами (далее HD 6970)
  • Geforce GTX 570 со стандартными параметрами (далее GTX 570)
  • Geforce GTX 560 Ti со стандартными параметрами (далее GTX 560 Ti)

Для сравнения результатов протестированной сегодня видеокарты из линейки Radeon HD 7800 эти модели были выбраны по следующим причинам. Radeon HD 7950 и HD 7770 взяты, как соседние модели из линейки текущего поколения — будет интересно посмотреть, как относительно них располагается новинка. Radeon HD 6970 взята как старшая одночиповая модель из предыдущего поколения, тем более что цены на «устаревшие» модели сейчас довольно выгодные.

Выбранные решения конкурирующей компании Nvidia были взяты потому, что Geforce GTX 570 сейчас имеет близкую к исследованному продукту AMD цену, и является её конкурентом на данный момент. GTX 560 Ti же продаётся несколько дешевле, и с ней было бы неплохо сравнить HD 7850, но, к сожалению, на момент проведения тестов у нас этой платы ещё не было в наличии.

Direct3D 9: тесты Pixel Shaders

С некоторого времени мы перестали использовать собственный тест текстурирования и заполнения (филлрейта) 32-битных текстур из RightMark первой версии, так как большинство видеокарт в нём в настоящее время показывают цифры, далёкие от теоретически возможных и явно некорректные в целом. Уж слишком тест устарел. Далее мы рассмотрим более похожие на правду результаты скорости текстурирования по цифрам из теста 3DMark Vantage, в котором получаются вполне реалистичные цифры.

Первая группа пиксельных шейдеров, которую мы рассматриваем, очень проста для современных видеочипов, она включает в себя различные версии пиксельных программ сравнительно низкой сложности: 1.1, 1.4 и 2.0, встречающихся в старых играх.

Эти тесты слишком просты для современных GPU и они в основном ограничены или производительностью текстурирования или филлрейтом (без учёта пропускной способности памяти). И поэтому они показывают далеко не все возможности современных видеочипов, но всё равно интересны с точки зрения учёта устаревших игровых приложений, которых до сих пор хватает.

Итак, судя по сравнению Radeon HD 7870 и HD 7950, производительность в этих тестах ограничена чаще всего именно филлрейтом. Хотя и влияние скорости текстурных модулей тоже есть, поэтому видеоплаты AMD в этом тесте стали победителями, причём HD 7870 вовсю конкурирует не с HD 7950, а с HD 6970. Вполне возможно, что в случае HD 7950 и HD 7770 наблюдается недостаток оптимизаций в драйвере, исправленный в более поздних версиях, одну из которых мы использовали в этом сравнении.

По сравнению с конкурирующими моделями Nvidia Geforce, новинка AMD явно быстрее обоих решений, и GTX 570 и GTX 560 Ti, которые показали близкую скорость. Посмотрим на результаты более сложных пиксельных программ промежуточных версий:

Вот и в этот раз получилось, что сразу три карты Radeon оказались весьма близки друг к другу (кроме HD 7770). Тест Cook-Torrance более интенсивен вычислительно, разница в нём примерно соответствует разнице в количестве ALU и их частоте, но и от скорости TMU также зависит. Поэтому данный тест лучше подходит графическим решениям компании AMD и данные видеокарты опережают обе Geforce, хотя разница не слишком велика. Новый HD 7870 даже немного быстрее HD 7950, что соответствует теории в том случае, если рендеринг зависит от филлрейта.

Во втором, больше зависящем от скорости текстурирования, тесте процедурной визуализации воды «Water» используется зависимая выборка из текстур больших уровней вложенности, и поэтому видеокарты в нём располагаются по скорости текстурирования, с поправкой на разную эффективность использования TMU. И в этом тесте решения компании AMD имеют преимущество перед Geforce, в этот раз ещё больше опережая их. А новый HD 7870 немного уступает младшей модели из топовой серии, что соответствует теории.

Direct3D 9: тесты пиксельных шейдеров Pixel Shaders 2.0

Эти тесты пиксельных шейдеров DirectX 9 сложнее предыдущих, они близки к тому, что мы сейчас видим в мультиплатформенных играх, и делятся на две категории. Начнем с более простых шейдеров версии 2.0:

  • Parallax Mapping — знакомый по большинству современных игр метод наложения текстур, подробно описанный в статье Современная терминология 3D-графики.
  • Frozen Glass — сложная процедурная текстура замороженного стекла с управляемыми параметрами.

Существует два варианта этих шейдеров: с ориентацией на математические вычисления и с предпочтением выборки значений из текстур. Рассмотрим математически интенсивные варианты, более перспективные с точки зрения будущих приложений:

Это — универсальные тесты, производительность в которых зависит и от скорости блоков ALU, и от скорости текстурирования, в них важен общий баланс чипа, а также эффективность исполнения вычислительных программ. Это очередной тест, показывающий, что в устаревших задачах архитектура AMD опережает GPU производства Nvidia. Производительность новой видеокарты AMD в тесте «Frozen Glass» лучше, чем у предшественницы из топовой серии и даже лучше, чем у Radeon HD 7950. Похоже, это ещё один тест, сильно зависящий от филлрейта.

Во втором тесте «Parallax Mapping» новая видеокарта HD 7870 хоть и остаётся в лидерах, но всё же опережает младшую из нынешних топовых моделей уже не так сильно. И хотя решения Nvidia тут чувствуют себя немного лучше, они всё ещё не могут догнать конкурирующие с ними платы AMD. Рассмотрим эти же тесты в модификации с предпочтением выборок из текстур математическим вычислениям:

Для плат с GPU производства Nvidia положение стало совсем чуть-чуть лучше, но всё же скорость текстурирования у современных чипов AMD выше и догнать их не удалось. Видеокарты Radeon отстояли своё преимущество в этих тестах, и обе Geforce конкурируют разве что с HD 7770, отставая от всех трёх карт Radeon более высокого уровня. HD 7870 очень неплохо справляется с задачами, обгоняет HD 7950 и совсем немного уступает HD 6970, архитектура VLIW которого лучше подходит для простых задач.

Но всё это были устаревшие задачи, с упором в текстурирование и филлрейт. Далее мы рассмотрим результаты ещё двух тестов пиксельных шейдеров — но уже версии 3.0, самых сложных из наших тестов пиксельных шейдеров для Direct3D 9. Они наиболее показательны с точки зрения современных игр на ПК, среди которых много мультиплатформенных. Тесты отличаются тем, что сильно нагружают и ALU, и текстурные модули, обе шейдерные программы сложны и длинны, и включают большое количество ветвлений:

  • Steep Parallax Mapping — значительно более «тяжелая» разновидность техники parallax mapping, также описанная в статье Современная терминология 3D-графики.
  • Fur — процедурный шейдер, визуализирующий мех.

В наших самых сложных DX9-тестах из первой версии пакета RightMark видеокарты производства Nvidia ранее были лидерами, в противоположность всем предыдущим испытаниям в тестах из нашего обзора. Но в последней архитектуре компании AMD ее создатели смогли решить все недостатки и теперь решения на чипах архитектуры GCN в PS 3.0 сравнении показали свою силу и мигом стали лидерами.

Тесты уже не ограничены производительностью текстурных выборок, а больше всего зависят от эффективности исполнения шейдерного кода. Ранее Radeon HD 6970 улучшил позиции AMD в данном тесте, увеличив эффективность при переходе от архитектуры VLIW5 к VLIW4, и почти догнал Geforce GTX 570, затем Tahiti и Cape Verde укрепили результат, и вот сейчас Pitcairn показал себя ещё лучше. Улучшение производительности в сложных вычислениях отлично заметно при сравнении старых и новых плат AMD, и Radeon HD 7870 серьёзно опережает HD 6970 и выступает примерно на одном уровне с HD 7950.

Итак, мы снова увидели отличные результаты Radeon HD 7870 — новой модели компании AMD, которая всегда опережала своего прямого конкурента, почти всегда брала верх над своим топовым предшественником из серии HD 6900 и была фактически на равных с более дорогой HD 7950. Что касается конкурентов Nvidia, то победа безоговорочно достаётся новой модели Radeon, представленная новинка во всех тестах заметно быстрее и GTX 560 Ti и GTX 570.

Direct3D 10: тесты пиксельных шейдеров PS 4.0 (текстурирование, циклы)

Во вторую версию RightMark3D вошли два знакомых теста PS 3.0 под Direct3D 9, которые были переписаны под DirectX 10, а также ещё два новых теста. В первую пару добавились возможности включения самозатенения и шейдерного суперсэмплинга, что дополнительно увеличивает нагрузку на видеочипы.

Данные тесты измеряют производительность выполнения пиксельных шейдеров с циклами при большом количестве текстурных выборок (в самом тяжелом режиме до нескольких сотен выборок на пиксель) и сравнительно небольшой загрузке ALU. Иными словами, в них измеряется скорость текстурных выборок и эффективность ветвлений в пиксельном шейдере.

Первым тестом пиксельных шейдеров будет Fur. При самых низких настройках в нём используется от 15 до 30 текстурных выборок из карты высот и две выборки из основной текстуры. Режим Effect detail — «High» увеличивает количество выборок до 40—80, включение «шейдерного» суперсэмплинга — до 60—120 выборок, а режим «High» совместно с SSAA отличается максимальной «тяжестью» — от 160 до 320 выборок из карты высот.

Проверим сначала режимы без включенного суперсэмплинга, они относительно просты, и соотношение результатов в режимах «Low» и «High» должно быть примерно одинаковым.

Производительность в этом тесте зависит в основном от количества и эффективности блоков TMU, и от эффективности выполнения сложных программ. В варианте без суперсэмплинга дополнительное влияние на производительность оказывает ещё и эффективный филлрейт (производительность блоков ROP) и пропускная способность памяти, но в меньшей степени. Результаты при детализации уровня «High» получаются до полутора раза ниже, чем при «Low».

В тестах процедурной визуализации меха с большим количеством текстурных выборок, решения Nvidia раньше были заметно сильнее, но за пару поколений GPU компания AMD не только сократила разницу, а с выпуском GCN и вовсе вырвалась вперёд. И теперь Radeon HD 7770 идёт на уровне GTX 560 Ti, не говоря про старшие модели. Рассматриваемая сегодня HD 7870 лишь немного уступила старшей HD 7950 и показала очень хороший результат, близкий к лучшему. Что явно говорит об увеличении эффективности новой архитектуры в сложных вычислениях.

Посмотрим на результат этого же теста, но с включенным «шейдерным» суперсэмплингом, увеличивающим работу в четыре раза: возможно, в такой ситуации что-то изменится, и ПСП с филлрейтом будут влиять меньше:

Включение суперсэмплинга увеличивает теоретическую нагрузку вчетверо, и результаты решений Nvidia значительно ухудшились, по сравнению с показателями видеокарт AMD. Теперь разница в эффективности выполнения данной задачи стала просто огромной, и обе протестированные видеокарты Nvidia проигрывают просто всем представителям компании AMD. Новинка из серии HD 7800 показывает отличный уровень производительности, снова почти не уступив HD 7950 и с запасом обогнав HD 6970.

Следующий DX10-тест измеряет производительность исполнения сложных пиксельных шейдеров с циклами при большом количестве текстурных выборок и называется Steep Parallax Mapping. При низких настройках он использует от 10 до 50 текстурных выборок из карты высот и три выборки из основных текстур. При включении тяжелого режима с самозатенением число выборок возрастает в два раза, а суперсэмплинг увеличивает это число в четыре раза. Наиболее сложный тестовый режим с суперсэмплингом и самозатенением выбирает от 80 до 400 текстурных значений, то есть в восемь раз больше по сравнению с простым режимом. Проверяем сначала простые варианты без суперсэмплинга:

Второй пиксель-шейдерный тест Direct3D 10 интереснее для нас с практической точки зрения, так как разновидности parallax mapping широко применяются в играх, а тяжелые варианты, вроде steep parallax mapping, используются во многих проектах, например в играх серий Crysis и Lost Planet. Кроме того, в нашем тесте, помимо суперсэмплинга, можно включить самозатенение, увеличивающее нагрузку на видеочип ещё примерно в два раза — такой режим называется «High».

Диаграмма похожа на предыдущую без включения SSAA, решения Nvidia не смогли улучшить своё положение. Лучшая из Geforce в обновленном D3D10-варианте теста без суперсэмплинга конкурирует только с Radeon HD 6970, а платы нового поколения, кроме HD 7770, оказались далеко впереди. Так, HD 7870 почти не уступила старшему собрату HD 7950 и стала одним из двух явных лидеров сравнения. Посмотрим, что изменит включение суперсэмплинга, ведь он обычно вызывает сильное падение скорости на платах Nvidia.

При включении суперсэмплинга и самозатенения, задача получается ещё более тяжёлой, совместное включение сразу двух опций увеличивает нагрузку на карты почти в восемь раз, вызывая серьёзное падение производительности. Разница между скоростными показателями протестированных видеокарт изменилась, включение суперсэмплинга сказывается, как и в предыдущем случае — карты производства AMD значительно улучшили относительные показатели, по сравнению с платами на чипах Nvidia.

В этот раз Radeon HD 7770 снова почти догнала Geforce GTX 570, а лучшими стали две старшие видеокарты нового семейства AMD. Новинка Radeon HD 7870 лишь чуть-чуть отстаёт от более сильной HD 7950, но только в более простых условиях, где сказывается влияние ПСП. В целом, по рассмотренным шейдерным D3D10 тестам можно в очередной раз подтвердить вывод о том, что новая архитектура компании AMD отлично справляется со сложными «шейдерными» задачами, заметно лучше конкурирующих плат Nvidia из предыдущего поколения.

Direct3D 10: тесты пиксельных шейдеров PS 4.0 (вычисления)

Следующая пара тестов пиксельных шейдеров содержит минимальное количество текстурных выборок для снижения влияния производительности блоков TMU. В них используется большое количество арифметических операций, и измеряют они именно математическую производительность видеочипов, скорость выполнения арифметических инструкций в пиксельном шейдере.

Первый математический тест — Mineral. Это тест сложного процедурного текстурирования, в котором используются лишь две выборки из текстурных данных и 65 инструкций типа sin и cos.

Результаты предельных математических тестов чаще всего соответствуют разнице в частотах и количестве вычислительных блоков, но с влиянием разной эффективности их использования. Все архитектуры AMD нескольких последних лет в таких случаях имели подавляющее преимущество перед конкурирующими видеокартами Nvidia, и в случае сравнения GCN с Fermi ситуация лишь немного изменилась.

Результаты видеокарт расположились на диаграмме примерно соответственно теории, за некоторыми исключениями. Интересно, что лидирующая тройка Radeon показывает близкие друг к другу результаты, которые, к слову, подтверждают теорию — HD 7870, HD 7950 и HD 6970 имеют близкие пиковые характеристики блоков ALU. Понятно, что все они при этом оказались значительно быстрее обеих карт Geforce, имеющих лишь чуть больше половины такой мощи.

Рассмотрим второй тест шейдерных вычислений, который носит название Fire. Он тяжелее для ALU, и текстурная выборка в нём только одна, а количество инструкций типа sin и cos увеличено вдвое, до 130. Посмотрим, что изменилось при увеличении нагрузки:

И снова мы видим почти идентичную предыдущей картину, разве что сами цифры поменялись, но не их соотношение. Все графические процессоры остались примерно на тех же позициях. Хотя строгого соответствия теоретическим цифрам пиковой производительности нет, результаты всех решений к ним довольно близки. Так, разница между HD 7770 и HD 7750 близка к соответствующему соотношению пиковых цифра по скорости вычислений.

Диаграмма полностью соответствует теории. Скорость рендеринга в данном тесте ограничена исключительно производительностью шейдерных блоков и их эффективностью, поэтому три платы Radeon снова показали близкие результаты, став лучшими картами сравнения. Понятно, что HD 7770 им серьёзно уступает, как и обе Geforce — обе платы Nvidia конкурируют разве что со слабейшей AMD. Собственно, вывод простой: в предельных вычислительных задачах до выхода Kepler ничего AMD не грозит, они до сих пор выигрывают все чисто математические битвы.

Direct3D 10: тесты геометрических шейдеров

В пакете RightMark3D 2.0 есть два теста скорости геометрических шейдеров, первый вариант носит название «Galaxy», техника аналогична «point sprites» из предыдущих версий Direct3D. В нем анимируется система частиц на GPU, геометрический шейдер из каждой точки создает четыре вершины, образующие частицу. Аналогичные алгоритмы должны получить широкое использование в будущих играх под DirectX 10.

Изменение балансировки в тестах геометрических шейдеров не влияет на конечный результат рендеринга, итоговая картинка всегда абсолютно одинакова, изменяются лишь способы обработки сцены. Параметр «GS load» определяет, в каком из шейдеров производятся вычисления — в вершинном или геометрическом. Количество вычислений всегда одинаково.

Рассмотрим первый вариант теста «Galaxy», с вычислениями в вершинном шейдере, для трёх уровней геометрической сложности:

Соотношение скоростей при разной геометрической сложности сцен примерно одинаковое для всех решений, производительность соответствует количеству точек, с каждым шагом падение FPS почти двукратное. Задача эта для современных видеокарт не слишком сложная, и производительность в ней ограничена или скоростью обработки геометрии или пропускной способностью памяти.

Похоже, что основным ограничителем в данном случае стала ПСП — именно поэтому свежая видеокарта серии Radeon HD 7800 серьёзно проигрывает своей старшей сестре HD 7950. Впрочем, HD 6970 из предыдущего поколения она опережает, так что не всё зависит лишь от памяти. Очень интересно почти полное соответствие результатов карты семейства HD 7900 и GTX 570 — они обе находятся на вершине и показывают почти в полтора раза лучшую производительность в этом тесте. Всё же урезанная шина памяти иногда сказывается и в синтетических тестах.

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

При изменении нагрузки в этом тесте цифры почти не изменились для решений Nvidia и лишь немного улучшились для новых плат AMD. Все видеокарты в данном тесте слабо реагируют на изменение параметра GS load, отвечающего за перенос части вычислений в геометрический шейдер, поэтому и все выводы остаются прежними. Давайте посмотрим, что изменится в следующем тесте, который предполагает большую нагрузку именно на геометрические шейдеры.

«Hyperlight» — это второй тест геометрических шейдеров, демонстрирующий использование сразу нескольких техник: instancing, stream output, buffer load. В нем используется динамическое создание геометрии при помощи отрисовки в два буфера, а также новая возможность Direct3D 10 — stream output. Первый шейдер генерирует направление лучей, скорость и направление их роста, эти данные помещаются в буфер, который используется вторым шейдером для отрисовки. По каждой точке луча строятся 14 вершин по кругу, всего до миллиона выходных точек.

Новый тип шейдерных программ используется для генерации «лучей», а с параметром «GS load», выставленным в «Heavy» — ещё и для их отрисовки. То есть в режиме «Balanced» геометрические шейдеры используются только для создания и «роста» лучей, вывод осуществляется при помощи «instancing», а в режиме «Heavy» выводом также занимается геометрический шейдер.

К сожалению, из-за ошибки в драйвере данный тест просто не запустился на Radeon HD 7870. Увы, но самый сложный геометрический тест, показывающий все возможности GPU по обработке геометрии и скорости исполнения геометрических шейдеров мы запустить не смогли. И хотя мы знаем, что эти возможности у новых чипов AMD явно улучшены, решения Radeon продолжают уступать Geforce в наиболее сложных тестах.

Direct3D 10: скорость выборки текстур из вершинных шейдеров

В тестах «Vertex Texture Fetch» измеряется скорость большого количества текстурных выборок из вершинного шейдера. Тесты схожи по сути, так что соотношение между результатами карт в тестах «Earth» и «Waves» должно быть примерно одинаковым. В обоих тестах используется displacement mapping на основании данных текстурных выборок, единственное существенное отличие состоит в том, что в тесте «Waves» используются условные переходы, а в «Earth» — нет.

Рассмотрим первый тест «Earth», сначала в режиме «Effect detail Low»:

Наши предыдущие исследования показали, что на результаты этого теста может влиять и скорость текстурирования и пропускная способность памяти. А результаты видеокарт Nvidia в простых режимах ограничены и ещё чем-то. Да и вообще, в сложных условиях между схожими по классу платами разница получается очень маленькая — проценты, а не разы.

Вот и в этот раз разве что Radeon HD 7770 сильно отстала от остального набора видеокарт. Все остальные решения выступили неплохо. Причём, новая плата компании AMD из семейства Radeon HD 7800 во всех режимах показала лучший результат, обогнав не только предшественницу Radeon HD 6970, но и топовую HD 7950. Посмотрим на производительность в этом же тесте с увеличенным количеством текстурных выборок:

Взаимное расположение карт на диаграмме изменилось в основном за счёт того, что платы Nvidia обеспечили высокую скорость рендеринга в тяжёлых режимах. При малом количестве полигонов скорость рендеринга для карт AMD упирается в ПСП, а платы Nvidia не могут показать результаты лучше, чем в среднем — явный упор во что-то (тоже ПСП?). Зато в тяжёлых режимах обе видеокарты Nvidia улучшили результаты и теперь вполне конкурируют с Radeon HD 7950 и новой моделью HD 7870, идущими практически вровень.

Рассмотрим результаты второго теста текстурных выборок из вершинных шейдеров. Тест «Waves» отличается меньшим количеством выборок, зато в нём используются условные переходы. Количество билинейных текстурных выборок в данном случае до 14 («Effect detail Low») или до 24 («Effect detail High») на каждую вершину. Сложность геометрии изменяется аналогично предыдущему тесту.

Результаты во втором тесте вершинного текстурирования «Waves» лишь немного напоминают то, что мы видели на предыдущих диаграммах. В этом тесте видеокарты AMD и Nvidia выстроились почти по чёткой лесенке, за исключением выпавшей из тренда Radeon HD 7770. Кроме этой low-end видеокарты AMD, все остальные платы компании выступили сильнее обеих Geforce.

А самое приятное в том, что новая модель из семейства HD 7800 показала лучший результат, снова обогнав даже Radeon HD 7950 из верхнего семейства. Похоже, что упора производительности в ПСП уже нет, а HD 7870 выигрывает из-за лучшей производительности блоков ROP. Рассмотрим второй вариант этого же теста:

И снова произошли изменения, аналогичные тем, что мы видели ранее — все видеокарты немного ухудшили свои результаты, но Nvidia уступили сильнее, что позволило платам на чипах AMD одержать над ними ещё более явную победу. Даже Radeon HD 7770 при тяжёлых настройках конкурирует с Geforce GTX 570. А уж лучшей платой снова стала сегодняшняя героиня — HD 7870.

В целом, новая плата из семейства HD 7800 в тестах вершинных выборок показала себя весьма неплохо, всегда обгоняла не только конкурирующие решения компании Nvidia, но и почти везде опережала ранее анонсированную плату из серии Radeon HD 7900, основанную на более сложном и дорогом GPU. Отличный результат!

3DMark Vantage: тесты Feature

Синтетические тесты из пакета 3DMark Vantage покажут нам то, что мы ранее упустили. Feature тесты из этого тестового пакета обладают поддержкой DirectX 10 и интересны тем, что отличаются от наших и до сих пор актуальны. При анализе результатов новой видеокарты из линейки Radeon HD 7800 в этом пакете мы сделаем какие-то новые и полезные выводы, ускользнувшие от нас в тестах семейства RightMark.

Feature Test 1: Texture Fill

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

Хотя тест компании Futuremark и не показывает теоретически возможного уровня по производительности текстурных выборок, но эффективность видеокарт AMD и Nvidia в нём достаточно высока и сравнительные цифры близки к соответствующим теоретическим параметрам. Лучшей видеокартой сравнения стала топовая модель семейства Radeon HD 7000, что подтверждает теоретические показатели.

Рассматриваемая сегодня Radeon HD 7870 показывает второй результат, отставая только от одной из топовых плат и опережая Radeon HD 6970, что очень и очень неплохо. Все остальные платы далеко позади. В случае Radeon HD 7770 это объясняется её бюджетным уровнем, а в случае обеих Geforce — слишком малым количеством блоков TMU. Видеокарты Nvidia в этом тесте всегда слабы, даже лучшая из пары GTX 560 Ti показывает результат, далёкий от уровня трёх близких по уровню видеокарт Radeon. Разница между моделями на базе Pitcairn и Tahiti полностью соответствует теории.

Feature Test 2: Color Fill

Это тест скорости заполнения. Используется очень простой пиксельный шейдер, не ограничивающий производительность. Интерполированное значение цвета записывается во внеэкранный буфер (render target) с использованием альфа-блендинга. Используется 16-битный внеэкранный буфер формата FP16, наиболее часто используемый в играх, применяющих HDR-рендеринг, поэтому такой тест является вполне своевременным.

Как видите, ситуация в тесте производительности блоков ROP совсем другая. Как мы определили раньше, цифры этого подтеста из 3DMark Vantage хоть и показывают производительность блоков ROP, но с огромным влиянием величины пропускной способности видеопамяти (т. н. «эффективный филлрейт»). Что отлично видно по сравнительным результатам плат семейства Radeon HD 7000.

Увы, но в данном случае тест измеряет скорее пропускную способность памяти, чем производительность ROP, и поэтому Radeon HD 7870 уступает не только HD 7950, но и HD 6970 — в полном соответствии с теорией. И новая модель компании AMD в этом сравнении показала результат, сравнимый со скоростью GTX 570, что подтверждает теорию об ограничении скорости ПСП.

Feature Test 3: Parallax Occlusion Mapping

Один из самых интересных feature-тестов, так как подобная техника уже используется в играх. В нём рисуется один четырехугольник (точнее, два треугольника) с применением специальной техники Parallax Occlusion Mapping, имитирующей сложную геометрию. Используются довольно ресурсоёмкие операции по трассировке лучей и карта глубины большого разрешения. Также эта поверхность затеняется при помощи тяжёлого алгоритма Strauss. Это тест очень сложного и тяжелого для видеочипа пиксельного шейдера, содержащего многочисленные текстурные выборки при трассировке лучей, динамические ветвления и сложные расчёты освещения по Strauss.

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

И тут новое семейство на базе новейшей архитектуры GCN проявило себя просто отлично. Результаты новых видеокарт AMD показывают, что в таких сложных вычислительных задачах платы серии Radeon HD 7000 весьма эффективно справляются с задачей. Даже слабая видеокарта HD 7770 находится между GTX 560 Ti и GTX 570, а все остальные платы — далеко впереди них.

Сравнительные цифры решений на чипах AMD разных поколений подтверждают улучшенную эффективность исполнения сложных вычислений с ветвлениями на GPU новой архитектуры. Поэтому HD 7870 опередила HD 6970, хотя теоретически имеет несколько меньшую вычислительную мощь. Правда, HD 7950 всё равно впереди, но это также легко объясняется спецификацией видеокарт — скорость блоков ALU у последней выше на 12%, ровно настолько же новинка и отстала от HD 7950 в тесте.

Feature Test 4: GPU Cloth

Тест интересен тем, что рассчитывает физические взаимодействия (имитация ткани) при помощи видеочипа. Используется вершинная симуляция, при помощи комбинированной работы вершинного и геометрического шейдеров, с несколькими проходами. Используется stream out для переноса вершин из одного прохода симуляции к другому. Таким образом, тестируется производительность исполнения вершинных и геометрических шейдеров и скорость stream out.

Скорость рендеринга в этом тесте также может зависеть от нескольких параметров, но основными факторами влияния являются производительность обработки геометрии, эффективность выполнения геометрических шейдеров и производительность блоков ROP. Поэтому вполне логично, что видеокарты производства Nvidia, имеющие по несколько геометрических блоков, чувствуют себя в этом приложении весьма неплохо, а Geforce GTX 570 опережает всех конкурентов, являясь лидером теста.

Но посмотрите — и представленная недавно модель Radeon HD 7870 показывает отличный второй по порядку результат, опережая остальные представленные в сравнении платы компании AMD! И так получается и из-за большего филлрейта и большей частоты GPU, на которой работают геометрические блоки. Это один из тех тестов, в которых видно преимущество решений Nvidia, имеющих несколько геометрических блоков, но и новинки AMD с улучшенной геометрической производительностью выступают тут неплохо.

Feature Test 5: GPU Particles

Тест физической симуляции эффектов на базе систем частиц, рассчитываемых при помощи видеочипа. Также используется вершинная симуляция, каждая вершина представляет одиночную частицу. Stream out используется с той же целью, что и в предыдущем тесте. Рассчитывается несколько сотен тысяч частиц, все анимируются отдельно, также рассчитываются их столкновения с картой высот.

Аналогично одному из тестов нашего RightMark3D 2.0, частицы отрисовываются при помощи геометрического шейдера, который из каждой точки создает четыре вершины, образующие частицу. Но тест больше всего загружает шейдерные блоки вершинными расчётами, также тестируется stream out.

Результаты ещё одного теста из пакета 3DMark Vantage были бы похожи на те, что мы видели на предыдущей диаграмме, но производительность блоков геометрии в нём ещё важнее. И поэтому платы Radeon просто провалились, по отношению к Geforce. Посмотрите сами, теперь лучший результат у GTX 570, а второй у GTX 560 Ti.

К сожалению, плата с GPU с кодовым именем Pitcairn тут не особенно блещет, располагаясь между Cayman и Tahiti Pro. Причём, HD 7950 она уступает скорее из-за низкого филлрейта и ПСП, а не скорости геометрических блоков. Ну и даже до предыдущего поколения плат Nvidia новинке далеко. Итак, в синтетических тестах имитации тканей и частиц из тестового пакета 3DMark Vantage, в которых активно используются геометрические шейдеры, ничего не изменилось — новому решению AMD мешают низкие показатели ПСП и филлрейта (производительности блоков ROP).

Feature Test 6: Perlin Noise

Последний feature-тест пакета Vantage является математически-интенсивным тестом видеочипа, он рассчитывает несколько октав алгоритма Perlin noise в пиксельном шейдере. Каждый цветовой канал использует собственную функцию шума для большей нагрузки на видеочип. Perlin noise — это стандартный алгоритм, часто применяемый в процедурном текстурировании, он использует много математических расчётов.

В чисто математическом тесте из пакета компании Futuremark, показывающем пиковую производительность видеочипов в предельных задачах, мы видим немного иное распределение результатов, по сравнению с аналогичными тестами из нашего тестового пакета Rightmark. В этот раз показанная на диаграмме производительность решений соответствует теории лишь примерно, и несколько расходится с тем, что мы видели ранее в математических тестах из пакета RightMark 2.0.

Отметим, что новая архитектура GCN и с этой задачей справляется неплохо, явно лучше устаревшей Fermi компании Nvidia. Решения AMD в целом в таких тестах много быстрее, и младшая из плат Geforce показывает скорость на уровне карты из линейки Radeon HD 7700, и даже GTX 570 не может догнать любую из тройки быстрейших Radeon. Видеокарты AMD всегда показывают лучшие результаты в случаях, когда выполняется простая и интенсивная математика.

Что касается представленной недавно новинки по сравнению со своими сородичами, то отметим, что Radeon HD 6970 она обошла весьма уверенно и лишь совсем немного уступила плате из старшей линейки HD 7950. Это очень хороший результат, учитывая, что по теории она должна быть медленнее на 12%, а разница на практике составила лишь 2%.

Direct3D 11: Вычислительные шейдеры

Чтобы протестировать новые решения компании AMD и в задачах, использующих такие новые возможности DirectX 11, как тесселяция и вычислительные шейдеры, мы воспользовались примерами из пакетов для разработчиков (SDK) и демонстрационными программами компаний Microsoft, Nvidia и AMD. К сожалению, пока что мы тестировали не все решения в этих задачах, и придётся сравнивать модель HD 7870 не с GTX 560 Ti и GTX 570, а с GTX 580, что не совсем корректно. Да и вместо HD 7950 придётся рассматривать топовую HD 7970.

Сначала мы рассмотрим тесты, использующие вычислительные (Compute) шейдеры. Их появление — одно из наиболее важных нововведений в последних версиях DX API, они уже используются в современных играх для выполнения различных задач: постобработки, симуляций и т. п. В первом тесте показан пример HDR-рендеринга с tone mapping из DirectX SDK, с постобработкой, использующей пиксельные и вычислительные шейдеры.

Пусть это не самый удачный пример для вычислительных шейдеров, но всё же разницу в производительности он показывает. Разницы в скорости расчётов в вычислительном и пиксельном шейдерах для видеокарт AMD и Nvidia почти нет, но первые чуть быстрее в вычислительном, а Nvidia в пиксельном.

Возможно, результаты явно зависят не только от математической мощи, но и от ПСП. И всё же вполне правдоподобно выглядит отставание нового Radeon HD 7870 от HD 7970. Интересно, что новинка уступает в том числе и HD 6970, который быстрее по математике и имеет большую ПСП. Понятно, что топовая модель HD 7970 является лидером, а GTX 580 хоть и немного, но всё же быстрее, чем HD 7870.

Второй тест вычислительных шейдеров также взят из Microsoft DirectX SDK, в нём показана расчётная задача гравитации N тел (N-body) — симуляция динамической системы частиц, на которую воздействуют физические силы, такие как гравитация.

Результаты в этом тесте также весьма похожи на то, что мы видели в предыдущем тесте, разве что HD 7870 и HD 6970 поменялись местами. То есть, этот тест скорее всё-таки измеряет скорость математических вычислений. Новая модель AMD почти догнала и более дорогую Geforce GTX 580, которую нельзя считать её прямым конкурентом, так как она стоит дороже. В целом, результат новинки выглядит неплохо, если учесть не особенно большое отставание от лучшей одночиповой видеокарты вообще. Будет интересно посмотреть на производительность в задачах тесселяции, к которым мы сейчас переходим.

Direct3D 11: Производительность тесселяции

Вычислительные шейдеры очень важны, но ещё одним важным нововведением в Direct3D 11 считается аппаратная тесселяция. Мы очень подробно рассматривали её в своей теоретической статье про Nvidia GF100. Тесселяцию уже довольно давно начали использовать в DX11-играх, таких как STALKER: Зов Припяти, DiRT 2, Aliens vs Predator, Metro 2033, Civilization V, Crysis 2, Battlefield 3 и других. В некоторых из них тесселяция используется для моделей персонажей, в других — для имитации реалистичной водной поверхности или ландшафта.

Существует несколько различных схем разбиения графических примитивов (тесселяции). Например, phong tessellation, PN triangles, Catmull-Clark subdivision. Так, схема разбиения PN Triangles используется в STALKER: Зов Припяти, а в Metro 2033 — Phong tessellation. Эти методы сравнительно быстро и просто внедряются в процесс разработки игр и существующие движки, поэтому и стали популярными.

Первым тестом тесселяции будет пример Detail Tessellation из ATI Radeon SDK. В нём реализована не только тесселяция, но и две разные техники попиксельной обработки: простое наложение карт нормалей и parallax occlusion mapping. Что ж, сравним DX11-решения AMD и Nvidia в различных условиях:

Мы уже видели ранее, что parallax occlusion mapping (средние столбики на диаграмме) на видеокартах обоих производителей выполняется гораздо менее эффективно, чем тесселяция (нижние столбики), а тесселяция не даёт падения производительности в разы — сравните верхние и нижние столбцы. То есть, качественная имитация геометрии при помощи пиксельных расчётов обеспечивает даже меньшую производительность, чем оттесселированная геометрия с displacement mapping.

Что касается производительности видеокарт относительно друг друга, то тут есть над чем задуматься. В тесте простого бампмаппинга видно, что платы, скорее всего, снова упираются в ПСП, так как их результаты слишком близки. В остальном, картина более-менее правдоподобная, платы AMD расположились по ранжиру и лидирует топовая модель. Radeon HD 7870 в этом подтесте близка к GTX 580 и HD 6970.

Зато второй подтест со сложными пиксельными расчётами показывает, что эффективность выполнения сложных математических вычислений у чипов архитектуры GCN гораздо выше, чем у остальных участников сравнения. Так, плата семейства HD 7800 на чипе Pitcairn показала очень хороший результат в тесте parallax mapping по сравнению с HD 6970 и GTX 580, что снова говорит об очень высокой эффективности исполнения сложных шейдерных программ на чипах Southern Islands.

В самом интересном подтесте тесселяции разбиение треугольников весьма умеренное, и поэтому платы компании AMD теряют не слишком много производительности. Запаса скорости хватает и для того, чтобы опередить быстрейшую одночиповую видеокарту Nvidia. Но самый интересный вывод этого теста в том, что Radeon HD 7870 тут оказался быстрее чем Radeon HD 7970! Можно было бы объяснить это более высокой частотой GPU первого (ведь у него даже индекс специальный «GHz Edition»), на которой и работают геометрические блоки.

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

Вторым тестом производительности тесселяции будет ещё один пример для 3D-разработчиков из ATI Radeon SDK — PN Triangles. Собственно, оба примера входят также и в состав DX SDK, так что мы уверены, что на их основе создают свой код игровые разработчики. Этот пример мы протестировали с различным коэффициентом разбиения (tessellation factor), чтобы понять, как сильно влияет его изменение на общую производительность.

Внимательный читатель обязательно отметит, что в этот раз у нас на диаграмме просто нет результатов с максимальным уровнем тесселяции (tessellation factor = 19), которые мы указывали ранее. Ещё при тестировании линейки Radeon HD 7700 мы столкнулись с тем, что тест не даёт выставить максимальное значение этого параметра. Тогда мы предположили, что это видеодрайвер AMD «урезает» возможности так, чтобы видеокарты компании в синтетических тестах экстремальной тесселяции выглядели не так плохо, но оказалось, что дело вовсе не в драйверах...

Проведённое нами исследование показало, что изменения, запрещающие максимальный уровень тесселяции, были внесены в исходный код и скомпилированный пример из DirectX SDK более новой версии. Если пример PNTriangles11 в версии DX SDK от февраля 2010 ещё позволяет выставить значение Tess factor в 19, то в июньский SDK того же года было внесено изменение, запрещающее уровень тесселяции выше 9 (всё это подтверждается исходным кодом примера из SDK, одна из констант в новой его версии была заменена меньшим значением, не позволяющим выставить параметр, возможный в предыдущей версии).

Кто это сделал и зачем? Is fecit, qui prodest. Ищем, кому выгодно, рассматривая факты. Факт первый: PNTriangles11 — пример тесселяции, реализованный компанией AMD и внесённый как в их собственный SDK, так и в DirectX SDK. Факт второй: видеочипы AMD хуже конкурирующих справляются с тесселяцией при максимальных уровнях разбиения треугольников. Вывод получается очень простым: похоже, что компания AMD попросила Microsoft изменить исходный код данного примера в DX SDK от июня 2010 года, сделав небольшое исправление, почти не влияющее на его функциональность. Почти.

Мы понимаем, что такие уровни в играх использоваться не будут. Понимаем и то, что треугольники получаются слишком маленькими, чтобы быть эффективными. Но в нашем случае это — чисто синтетический тест, позволяющий выяснить теоретические пределы возможностей «железа». Пусть в синтетике всегда будут показаны честные результаты, а уж мы расскажем, что такой сложной геометрии в играх не будет ещё очень долго. Экстремальные коэффициенты разбиения вряд ли будут использоваться в играх ближайшего времени, но в этом разделе нас интересует архитектурный потенциал. В общем, такое вот исправление — это не самый красивый ход со стороны компании AMD, как нам кажется.

Ну что же, рассмотрим хотя бы три уровня тесселяции, без максимального. В этом примере мы видим уже более правдоподобное сравнение геометрической мощи различных решений AMD и Nvidia. Все современные чипы неплохо справляются с такой нагрузкой (без tess factor = 19), и тут можно выделить разве что Radeon HD 7770, уступающий остальным по причине общей слабости. Но в целом все новые чипы архитектуры AMD GCN весьма хороши, а Radeon HD 7970 так и вовсе обогнал даже Geforce GTX 580.

Что касается нашего сегодняшнего героя, то Radeon HD 7870 лишь чуть-чуть уступил своему старшему собрату в лице топовой платы текущего поколения, что является просто отличным результатом! Видно, что чипы архитектуры GCN в тесселяции заметно быстрее чипа Cayman, даже бюджетный. Поэтому можно ожидать, что решения на Pitcairn будут сильны и в других существующих тестах с применением тесселяции, таких как 3DMark 11 и Heaven.

Но давайте рассмотрим результаты ещё одного теста — демонстрационной программы Nvidia Realistic Water Terrain, также известной как Island. В этой демке используется тесселяция и карты смещения (displacement mapping) для рендеринга реалистично выглядящей поверхности океана и ландшафта.

Island не является чисто синтетическим тестом для измерения одной только геометрической производительности, он содержит и сложные пиксельные и вычислительные шейдеры в том числе, и такая нагрузка ближе к реальным играм, в которых используются сразу все блоки GPU, а не только геометрические, как в предыдущем бенчмарке.

Мы протестировали программу при четырёх разных коэффициентах тесселяции, в её случае настройка называется Dynamic Tessellation LOD. И если при низких коэффициентах разбиения треугольников видеокарты компании AMD весьма сильны, то при усложнении работы единственная плата Nvidia начинает выигрывать. При увеличении коэффициента разбиения и сложности сцены производительность всех Radeon падает сильнее, и тут можно было бы снова признать победу Nvidia в сложных геометрических тестах и на этом закончить.

Но это если не обращать внимания на явно аномальный результат рассматриваемой сегодня Radeon HD 7870. Как-то так получилось, что она обогнала HD 7970, да ещё с огромным преимуществом! Такого просто не может быть в принципе, исходя из теоретических спецификаций, поэтому снова необходимо разобраться. В этот раз виноваты специальные оптимизации в видеодрайвере AMD Catalyst свежей версии. HD 7970 и HD 7770 мы тестировали ещё с предыдущими версиями драйверов, в которых не было этих оптимизаций, а в последнем Catalyst они появились. И теперь Radeon HD 7870 чуть ли не на уровне Geforce GTX 580. Там, где HD 7970 сильно проигрывала. Сказка? Нет, скорее — известные оптимизации тесселяции, которые ранее отмечались разве что в игровых приложениях, но не чистой синтетике. Увы, снова отмечаем некоторое лукавство со стороны AMD.

Если не принимать это во внимание, отметим, что в условиях тяжёлой геометрической нагрузки новые чипы всё равно весьма хороши, количество и эффективность геометрических блоков в разных чипах семейства одинаковое, а разница в скорости обусловлена различной тактовой частотой и влиянием на общую производительность других параметров. В целом, GCN очень сильно подтянули геометрическую производительность и в реальных применениях не уступают Fermi компании Nvidia. Ещё бы в AMD не применяли сомнительных методов по «оптимизации»...

Выводы по синтетическим тестам

По результатам проведённых синтетических тестов новой модели видеокарты из серии Radeon HD 7800, основанной на графическом процессоре Pitcairn из семейства Southern Islands, а также результатам других моделей видеокарт производства обоих производителей дискретных видеочипов, делаем вывод о том, что новые среднебюджетные решения должны хорошо вписаться в линейку компании AMD и стать одними из наиболее выгодных покупок. Radeon HD 7870 в синтетических тестах выглядит очень неплохо, выступая зачастую на уровне младшей из топовых видеокарт на базе Tahiti, но стоит при этом заметно меньше и будет продаваться более массово.

Графический процессор Pitcairn выполнен с применением самого современного техпроцесса 28 нм на основе новой архитектуры GCN, которая сильно отличается от предыдущих решений компании. Отметим, что новое семейство GPU имеет массу архитектурных улучшений, направленных на увеличение эффективности выполнения сложных вычислений на GPU и ускорение обработки геометрических данных (в т.ч. тесселяции). Наш набор синтетических тестов показал, что эффективность вычислений в таких задачах действительно выросла.

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

В целом же, благодаря проведённым архитектурным изменениям, видеокарты новой серии должны стать весьма выгодным вариантом для покупки и модернизации игровых систем, они точно будут одними из наиболее продаваемых DirectX 11 решений, и в перспективе улучшат позиции компании AMD на рынке, особенно с учётом отсутствия 28-нанометровых новинок конкурента. Причём, в отличие от младших решений на Cape Verde, видеокарты на Pitcairn не страдают от низкой пропускной способности видеопамяти, отлично сбалансированы и показывают весьма сильные результаты.

По сути, семейство Radeon HD 7800 является той золотой серединой, которая лучше всего подойдёт большинству игроков — они не слишком дорогие, как HD 7900, но и не слишком медленные, как HD 7700. Мы уверены, что сильные результаты Radeon HD 7870 в синтетических тестах будут подкреплены и отличными показателями в игровых приложениях. Новые платы обязаны показать конкурентоспособную скорость в играх по сравнению с соперниками Nvidia, и в следующей части материала мы как раз это и проверим.

AMD Radeon HD 7870 — Часть 3: производительность в игровых тестах →

Блок питания для тестового стенда предоставлен компанией Tagan

Корпус ThermalTake 8430 для тестового стенда предоставлен компанией 3Logic

Монитор Dell 3007WFP для тестовых стендов предоставлен компанией Nvidia




Дополнительно

Обзор видеоускорителя AMD Radeon HD 7870. Часть 2 — Особенности видеокарты, результаты синтетических тестов

AMD Radeon HD 7870:

описание видеокарты и результаты синтетических тестов

Содержание

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

Плата

AMD Radeon HD 7870 GHz Edition 2048 МБ 256-битной GDDR5 PCI-E
  • GPU: Radeon HD 7870 (Pitcairn)
  • Интерфейс: PCI Express x16
  • Частота работы GPU (ROPs): 1000 МГц (номинал — 1000 МГц)
  • Частота работы памяти (физическая (эффективная)): 1200 (4800) МГц (номинал — 1200 (4800) МГц)
  • Ширина шины обмена с памятью: 256 бит
  • Число вычислительных блоков в GPU/частота работы блоков: 20/1000 МГц (номинал — 20/1000 МГц)
  • Число операций (ALU) в блоке: 64
  • Суммарное число операций (ALU): 1280
  • Число блоков текстурирования: 80 (BLF/TLF/ANIS)
  • Число блоков растеризации (ROP): 32
  • Размеры: 255×100×33 мм (последняя величина — максимальная толщина видеокарты)
  • Цвет текстолита: черный
  • Энергопотребление (пиковое в 3D/в режиме 2D/в режиме «сна»): 178/57/3 Вт
  • Выходные гнезда: 1×DVI (Dual-Link/VGA), 1×HDMI 1.4a, 2×Mini-DisplayPort 1.2
  • Поддержка многопроцессорной работы: CrossFire X (Hardware)

AMD Radeon HD 7870 GHz Edition 2048 МБ 256-битной GDDR5 PCI-E
Карта имеет 2048 МБ памяти GDDR5 SDRAM, размещенной в 8 микросхемах на лицевой сторонe PCB.

Микросхемы памяти Hynix (GDDR5). Микросхемы рассчитаны на максимальную частоту работы в 1250 (5000) МГц.

Сравнение с эталонным дизайном HD 6970, вид спереди
AMD Radeon HD 7870 GHz Edition 2048 МБ 256-битной GDDR5 PCI-E Reference card AMD Radeon HD 6970

Сравнение с эталонным дизайном HD 6970, вид сзади
AMD Radeon HD 7870 GHz Edition 2048 МБ 256-битной GDDR5 PCI-E Reference card AMD Radeon HD 6970

Мы не зря сравнили HD 7870 и HD 6970: обе карты имеют PCB с 256-битной шиной, да и чипы соразмерные по производительности. Однако схожесть, по сути, осталась только в размещении микросхем памяти вокруг ядра. Все остальное существенно переделано: во-первых, блок питания несколько упрощен, да и перенесен поближе к выводным гнездам. Во-вторых, уменьшилась длина печатной платы, в-третьих, из-за более тонкого техпроцесса ядра продукт суммарно потребляет меньше, поэтому стало возможным ограничиться установкой двух 6-контактных разъемов дополнительного питания, а не 8+6, как у HD 6970. Да и само ядро уменьшилось по площади.

Подключение к аналоговым мониторам с d-Sub (VGA) производится через специальные адаптеры-переходники DVI-to-d-Sub. Также не должно быть проблем с HDMI: ускорители поддерживают полноценную передачу видео и звука на HDMI-приемник, поскольку обладают собственным звуковым кодеком.

Отметим особо, что карта имеет видеовыходы DisplayPort версии 1.2, поэтому есть возможность с помощью специальных хабов выводить картинку с каждого порта DP на три монитора (в сумме — на шесть).

Напомним также, что топовые продукты AMD обладают поддержкой технологии AMD Eyefinity, обеспечивая вывод картинки игры одновременно на несколько мониторов. Правда, кажется сомнительным, что производительности HD 7870 будет хватать для обеспечения приемлемой играбельности в сверхвысоком разрешении, требуемом суммарно для трех мониторов. (Наши измерения показали, что HD 7870 на повышенных частотах работы обеспечивает производительность подчас даже выше, чем у HD 7950, но не будем забегать вперед.)

Отметим также, что все серийно выпускаемые ускорители серии 79хх и 78хх будут иметь в комплектах поставки адаптеры DP-to-DVI, что позволит выводить изображение на 2 или 3 монитора со входами DVI, и следовательно, Eyefinity можно будет организовывать не только с помощью мониторов со входами DP. Это резко увеличивает привлекательность данной технологии.

Максимальные разрешения и частоты:

  • 240 Гц — максимальная частота обновления
  • 2048×1536@85 Гц — по аналоговому интерфейсу
  • 2560×1600@60 Гц — по цифровому интерфейсу (для DVI-гнезд с Dual-Link/HDMI)

Что касается возможностей по ускорению декодирования видео — в 2007 году мы проводили такое исследование, с ним можно ознакомиться здесь.

Напомним, что карта требует дополнительного питания, причем двумя 6-контактными разъемами.

И еще раз стоит специально сказать о возможности ухода видеокарты в глубокий «сон». В стандартных настройках энергосбережения Windows предусмотрено гашение монитора через некоторое время неактивности системы, и у множества людей по всему миру компьютеры регулярно входят в этот режим. Остальные компоненты системного блока при этом свой режим работы не меняют (кроме, конечно, центрального процессора, уходящего в сон) — в частности, видеокарта продолжает работать в режиме 2D и на заданных для этого режима частотах. Так вот, теперь Radeon HD 7xxx при отключении монитора резко сбрасывает частоты работы, потребляя лишь 3 Вт, и при этом останавливается вентилятор! Это позволяет в целом снизить шум системного блока и потребление энергии; кроме того, кулер в это время не всасывает в себя пыль. Но и этого мало. При работе в системе CrossFire из двух или более карт 7xхх, как только завершается работа в 3D-режиме (игрок возвращается в 2D), в работе остается только первая карта, а все остальные точно так же уходят в «сон», потребляя 3 Вт и выключая свои вентиляторы. Эта особенность новых ускорителей нам очень понравилась!

О системе охлаждения.

AMD Radeon HD 7870 GHz Edition 2048 МБ 256-битной GDDR5 PCI-E
Устройство состоит из двух частей: главного радиатора и кожуха.

Главный радиатор базируется на испарительной камере — такой вид кулера AMD начала использовать еще на картах HD 6970. Испарительная камера сделана из медного сплава, одной стороной она прижимается к ядру и микросхемам памяти (через специальные термоинтерфейсы), а с другой стороны имеет массивное оребрение, через которое гонит воздух цилиндрический вентилятор, закрепленный на одном конце кожуха. Данный вариант кулера является очень эффективным, причем охлаждает он одновременно ядро и микросхемы памяти.

Вентилятор в 2D-режиме работает на очень малых оборотах, и даже в 3D максимальная раскрутка, которую мы лицезрели, составляла всего 34% от предельной. Шума даже в таком случае не было слышно.

Мы провели исследование температурного режима с помощью утилиты MSI Afterburner (автор А. Николайчук AKA Unwinder) и получили следующие результаты (на номинальных частотах и при сильном разгоне):

AMD Radeon HD 7870 GHz Edition 2048 МБ 256-битной GDDR5 PCI-E — номинальные частоты
AMD Radeon HD 7870 GHz Edition 2048 МБ 256-битной GDDR5 PCI-E — повышенные частоты

Во-первых, надо сразу отметить, что ускоритель разгоняется просто шикарно! Мы получили прирост по частоте ядра в 150 МГц! И при этом максимальная температура на ядре поднялась всего на пару градусов. Во-вторых, мы видим, что в целом нагрев не выше 80 градусов, что для такого рода ускорителей более чем хорошо. В-третьих, замечаем, что обороты кулера после 6 часов под нагрузкой особо не выросли. СО — отличная!

Видеокарта прибыла к нам без упаковки и комплекта, потому вопрос комплектации мы опускаем.

Установка и драйверы

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

  • Компьютер на базе Intel Core i7-975 (Socket 1366)
    • процессор Intel Core i7-975 (3340 МГц);
    • системная плата Asus P6T Deluxe на чипсете Intel X58;
    • оперативная память 6 ГБ DDR3 SDRAM Corsair 1600 МГц;
    • жесткий диск WD Caviar SE WD1600JD 160 ГБ SATA;
    • блок питания Tagan TG900-BZ 900 Вт.
  • операционная система Windows 7 64-битная; DirectX 11;
  • монитор Dell 3007WFP (30″);
  • драйверы AMD версии Catalyst 12.3; Nvidia версии 295.72

VSync отключен.

Синтетические тесты

Используемые нами пакеты синтетических тестов можно скачать здесь:

Для работы RightMark3D 2.0 требуется установленный пакет MS Visual Studio 2005 runtime, а также последнее обновление DirectX runtime.

В качестве синтетических тестов DirectX 11 мы использовали примеры из пакетов SDK компаний Microsoft и AMD, а также демонстрационной программой Nvidia. Во-первых, это HDRToneMappingCS11.exe и NBodyGravityCS11.exe из комплекта DirectX SDK (February 2010).

Мы взяли и приложения обоих производителей видеочипов: Nvidia и AMD. Из ATI Radeon SDK были взяты примеры DetailTessellation11 и PNTriangles11 (они также есть и в DirectX SDK). Дополнительно использовалась демонстрационная программа компании Nvidia — Realistic Water Terrain, также известная как Island11 (автор — Тимофей Чеблоков, известный специалист 3D-графики).

Синтетические тесты проводились на следующих видеокартах:

  • Radeon HD 7870 со стандартными параметрами (далее HD 7870)
  • Radeon HD 7950 со стандартными параметрами (далее HD 7950)
  • Radeon HD 7770 со стандартными параметрами (далее HD 7770)
  • Radeon HD 6970 со стандартными параметрами (далее HD 6970)
  • Geforce GTX 570 со стандартными параметрами (далее GTX 570)
  • Geforce GTX 560 Ti со стандартными параметрами (далее GTX 560 Ti)

Для сравнения результатов протестированной сегодня видеокарты из линейки Radeon HD 7800 эти модели были выбраны по следующим причинам. Radeon HD 7950 и HD 7770 взяты, как соседние модели из линейки текущего поколения — будет интересно посмотреть, как относительно них располагается новинка. Radeon HD 6970 взята как старшая одночиповая модель из предыдущего поколения, тем более что цены на «устаревшие» модели сейчас довольно выгодные.

Выбранные решения конкурирующей компании Nvidia были взяты потому, что Geforce GTX 570 сейчас имеет близкую к исследованному продукту AMD цену, и является её конкурентом на данный момент. GTX 560 Ti же продаётся несколько дешевле, и с ней было бы неплохо сравнить HD 7850, но, к сожалению, на момент проведения тестов у нас этой платы ещё не было в наличии.

Direct3D 9: тесты Pixel Shaders

С некоторого времени мы перестали использовать собственный тест текстурирования и заполнения (филлрейта) 32-битных текстур из RightMark первой версии, так как большинство видеокарт в нём в настоящее время показывают цифры, далёкие от теоретически возможных и явно некорректные в целом. Уж слишком тест устарел. Далее мы рассмотрим более похожие на правду результаты скорости текстурирования по цифрам из теста 3DMark Vantage, в котором получаются вполне реалистичные цифры.

Первая группа пиксельных шейдеров, которую мы рассматриваем, очень проста для современных видеочипов, она включает в себя различные версии пиксельных программ сравнительно низкой сложности: 1.1, 1.4 и 2.0, встречающихся в старых играх.

Эти тесты слишком просты для современных GPU и они в основном ограничены или производительностью текстурирования или филлрейтом (без учёта пропускной способности памяти). И поэтому они показывают далеко не все возможности современных видеочипов, но всё равно интересны с точки зрения учёта устаревших игровых приложений, которых до сих пор хватает.

Итак, судя по сравнению Radeon HD 7870 и HD 7950, производительность в этих тестах ограничена чаще всего именно филлрейтом. Хотя и влияние скорости текстурных модулей тоже есть, поэтому видеоплаты AMD в этом тесте стали победителями, причём HD 7870 вовсю конкурирует не с HD 7950, а с HD 6970. Вполне возможно, что в случае HD 7950 и HD 7770 наблюдается недостаток оптимизаций в драйвере, исправленный в более поздних версиях, одну из которых мы использовали в этом сравнении.

По сравнению с конкурирующими моделями Nvidia Geforce, новинка AMD явно быстрее обоих решений, и GTX 570 и GTX 560 Ti, которые показали близкую скорость. Посмотрим на результаты более сложных пиксельных программ промежуточных версий:

Вот и в этот раз получилось, что сразу три карты Radeon оказались весьма близки друг к другу (кроме HD 7770). Тест Cook-Torrance более интенсивен вычислительно, разница в нём примерно соответствует разнице в количестве ALU и их частоте, но и от скорости TMU также зависит. Поэтому данный тест лучше подходит графическим решениям компании AMD и данные видеокарты опережают обе Geforce, хотя разница не слишком велика. Новый HD 7870 даже немного быстрее HD 7950, что соответствует теории в том случае, если рендеринг зависит от филлрейта.

Во втором, больше зависящем от скорости текстурирования, тесте процедурной визуализации воды «Water» используется зависимая выборка из текстур больших уровней вложенности, и поэтому видеокарты в нём располагаются по скорости текстурирования, с поправкой на разную эффективность использования TMU. И в этом тесте решения компании AMD имеют преимущество перед Geforce, в этот раз ещё больше опережая их. А новый HD 7870 немного уступает младшей модели из топовой серии, что соответствует теории.

Direct3D 9: тесты пиксельных шейдеров Pixel Shaders 2.0

Эти тесты пиксельных шейдеров DirectX 9 сложнее предыдущих, они близки к тому, что мы сейчас видим в мультиплатформенных играх, и делятся на две категории. Начнем с более простых шейдеров версии 2.0:

  • Parallax Mapping — знакомый по большинству современных игр метод наложения текстур, подробно описанный в статье Современная терминология 3D-графики.
  • Frozen Glass — сложная процедурная текстура замороженного стекла с управляемыми параметрами.

Существует два варианта этих шейдеров: с ориентацией на математические вычисления и с предпочтением выборки значений из текстур. Рассмотрим математически интенсивные варианты, более перспективные с точки зрения будущих приложений:

Это — универсальные тесты, производительность в которых зависит и от скорости блоков ALU, и от скорости текстурирования, в них важен общий баланс чипа, а также эффективность исполнения вычислительных программ. Это очередной тест, показывающий, что в устаревших задачах архитектура AMD опережает GPU производства Nvidia. Производительность новой видеокарты AMD в тесте «Frozen Glass» лучше, чем у предшественницы из топовой серии и даже лучше, чем у Radeon HD 7950. Похоже, это ещё один тест, сильно зависящий от филлрейта.

Во втором тесте «Parallax Mapping» новая видеокарта HD 7870 хоть и остаётся в лидерах, но всё же опережает младшую из нынешних топовых моделей уже не так сильно. И хотя решения Nvidia тут чувствуют себя немного лучше, они всё ещё не могут догнать конкурирующие с ними платы AMD. Рассмотрим эти же тесты в модификации с предпочтением выборок из текстур математическим вычислениям:

Для плат с GPU производства Nvidia положение стало совсем чуть-чуть лучше, но всё же скорость текстурирования у современных чипов AMD выше и догнать их не удалось. Видеокарты Radeon отстояли своё преимущество в этих тестах, и обе Geforce конкурируют разве что с HD 7770, отставая от всех трёх карт Radeon более высокого уровня. HD 7870 очень неплохо справляется с задачами, обгоняет HD 7950 и совсем немного уступает HD 6970, архитектура VLIW которого лучше подходит для простых задач.

Но всё это были устаревшие задачи, с упором в текстурирование и филлрейт. Далее мы рассмотрим результаты ещё двух тестов пиксельных шейдеров — но уже версии 3.0, самых сложных из наших тестов пиксельных шейдеров для Direct3D 9. Они наиболее показательны с точки зрения современных игр на ПК, среди которых много мультиплатформенных. Тесты отличаются тем, что сильно нагружают и ALU, и текстурные модули, обе шейдерные программы сложны и длинны, и включают большое количество ветвлений:

  • Steep Parallax Mapping — значительно более «тяжелая» разновидность техники parallax mapping, также описанная в статье Современная терминология 3D-графики.
  • Fur — процедурный шейдер, визуализирующий мех.

В наших самых сложных DX9-тестах из первой версии пакета RightMark видеокарты производства Nvidia ранее были лидерами, в противоположность всем предыдущим испытаниям в тестах из нашего обзора. Но в последней архитектуре компании AMD ее создатели смогли решить все недостатки и теперь решения на чипах архитектуры GCN в PS 3.0 сравнении показали свою силу и мигом стали лидерами.

Тесты уже не ограничены производительностью текстурных выборок, а больше всего зависят от эффективности исполнения шейдерного кода. Ранее Radeon HD 6970 улучшил позиции AMD в данном тесте, увеличив эффективность при переходе от архитектуры VLIW5 к VLIW4, и почти догнал Geforce GTX 570, затем Tahiti и Cape Verde укрепили результат, и вот сейчас Pitcairn показал себя ещё лучше. Улучшение производительности в сложных вычислениях отлично заметно при сравнении старых и новых плат AMD, и Radeon HD 7870 серьёзно опережает HD 6970 и выступает примерно на одном уровне с HD 7950.

Итак, мы снова увидели отличные результаты Radeon HD 7870 — новой модели компании AMD, которая всегда опережала своего прямого конкурента, почти всегда брала верх над своим топовым предшественником из серии HD 6900 и была фактически на равных с более дорогой HD 7950. Что касается конкурентов Nvidia, то победа безоговорочно достаётся новой модели Radeon, представленная новинка во всех тестах заметно быстрее и GTX 560 Ti и GTX 570.

Direct3D 10: тесты пиксельных шейдеров PS 4.0 (текстурирование, циклы)

Во вторую версию RightMark3D вошли два знакомых теста PS 3.0 под Direct3D 9, которые были переписаны под DirectX 10, а также ещё два новых теста. В первую пару добавились возможности включения самозатенения и шейдерного суперсэмплинга, что дополнительно увеличивает нагрузку на видеочипы.

Данные тесты измеряют производительность выполнения пиксельных шейдеров с циклами при большом количестве текстурных выборок (в самом тяжелом режиме до нескольких сотен выборок на пиксель) и сравнительно небольшой загрузке ALU. Иными словами, в них измеряется скорость текстурных выборок и эффективность ветвлений в пиксельном шейдере.

Первым тестом пиксельных шейдеров будет Fur. При самых низких настройках в нём используется от 15 до 30 текстурных выборок из карты высот и две выборки из основной текстуры. Режим Effect detail — «High» увеличивает количество выборок до 40—80, включение «шейдерного» суперсэмплинга — до 60—120 выборок, а режим «High» совместно с SSAA отличается максимальной «тяжестью» — от 160 до 320 выборок из карты высот.

Проверим сначала режимы без включенного суперсэмплинга, они относительно просты, и соотношение результатов в режимах «Low» и «High» должно быть примерно одинаковым.

Производительность в этом тесте зависит в основном от количества и эффективности блоков TMU, и от эффективности выполнения сложных программ. В варианте без суперсэмплинга дополнительное влияние на производительность оказывает ещё и эффективный филлрейт (производительность блоков ROP) и пропускная способность памяти, но в меньшей степени. Результаты при детализации уровня «High» получаются до полутора раза ниже, чем при «Low».

В тестах процедурной визуализации меха с большим количеством текстурных выборок, решения Nvidia раньше были заметно сильнее, но за пару поколений GPU компания AMD не только сократила разницу, а с выпуском GCN и вовсе вырвалась вперёд. И теперь Radeon HD 7770 идёт на уровне GTX 560 Ti, не говоря про старшие модели. Рассматриваемая сегодня HD 7870 лишь немного уступила старшей HD 7950 и показала очень хороший результат, близкий к лучшему. Что явно говорит об увеличении эффективности новой архитектуры в сложных вычислениях.

Посмотрим на результат этого же теста, но с включенным «шейдерным» суперсэмплингом, увеличивающим работу в четыре раза: возможно, в такой ситуации что-то изменится, и ПСП с филлрейтом будут влиять меньше:

Включение суперсэмплинга увеличивает теоретическую нагрузку вчетверо, и результаты решений Nvidia значительно ухудшились, по сравнению с показателями видеокарт AMD. Теперь разница в эффективности выполнения данной задачи стала просто огромной, и обе протестированные видеокарты Nvidia проигрывают просто всем представителям компании AMD. Новинка из серии HD 7800 показывает отличный уровень производительности, снова почти не уступив HD 7950 и с запасом обогнав HD 6970.

Следующий DX10-тест измеряет производительность исполнения сложных пиксельных шейдеров с циклами при большом количестве текстурных выборок и называется Steep Parallax Mapping. При низких настройках он использует от 10 до 50 текстурных выборок из карты высот и три выборки из основных текстур. При включении тяжелого режима с самозатенением число выборок возрастает в два раза, а суперсэмплинг увеличивает это число в четыре раза. Наиболее сложный тестовый режим с суперсэмплингом и самозатенением выбирает от 80 до 400 текстурных значений, то есть в восемь раз больше по сравнению с простым режимом. Проверяем сначала простые варианты без суперсэмплинга:

Второй пиксель-шейдерный тест Direct3D 10 интереснее для нас с практической точки зрения, так как разновидности parallax mapping широко применяются в играх, а тяжелые варианты, вроде steep parallax mapping, используются во многих проектах, например в играх серий Crysis и Lost Planet. Кроме того, в нашем тесте, помимо суперсэмплинга, можно включить самозатенение, увеличивающее нагрузку на видеочип ещё примерно в два раза — такой режим называется «High».

Диаграмма похожа на предыдущую без включения SSAA, решения Nvidia не смогли улучшить своё положение. Лучшая из Geforce в обновленном D3D10-варианте теста без суперсэмплинга конкурирует только с Radeon HD 6970, а платы нового поколения, кроме HD 7770, оказались далеко впереди. Так, HD 7870 почти не уступила старшему собрату HD 7950 и стала одним из двух явных лидеров сравнения. Посмотрим, что изменит включение суперсэмплинга, ведь он обычно вызывает сильное падение скорости на платах Nvidia.

При включении суперсэмплинга и самозатенения, задача получается ещё более тяжёлой, совместное включение сразу двух опций увеличивает нагрузку на карты почти в восемь раз, вызывая серьёзное падение производительности. Разница между скоростными показателями протестированных видеокарт изменилась, включение суперсэмплинга сказывается, как и в предыдущем случае — карты производства AMD значительно улучшили относительные показатели, по сравнению с платами на чипах Nvidia.

В этот раз Radeon HD 7770 снова почти догнала Geforce GTX 570, а лучшими стали две старшие видеокарты нового семейства AMD. Новинка Radeon HD 7870 лишь чуть-чуть отстаёт от более сильной HD 7950, но только в более простых условиях, где сказывается влияние ПСП. В целом, по рассмотренным шейдерным D3D10 тестам можно в очередной раз подтвердить вывод о том, что новая архитектура компании AMD отлично справляется со сложными «шейдерными» задачами, заметно лучше конкурирующих плат Nvidia из предыдущего поколения.

Direct3D 10: тесты пиксельных шейдеров PS 4.0 (вычисления)

Следующая пара тестов пиксельных шейдеров содержит минимальное количество текстурных выборок для снижения влияния производительности блоков TMU. В них используется большое количество арифметических операций, и измеряют они именно математическую производительность видеочипов, скорость выполнения арифметических инструкций в пиксельном шейдере.

Первый математический тест — Mineral. Это тест сложного процедурного текстурирования, в котором используются лишь две выборки из текстурных данных и 65 инструкций типа sin и cos.

Результаты предельных математических тестов чаще всего соответствуют разнице в частотах и количестве вычислительных блоков, но с влиянием разной эффективности их использования. Все архитектуры AMD нескольких последних лет в таких случаях имели подавляющее преимущество перед конкурирующими видеокартами Nvidia, и в случае сравнения GCN с Fermi ситуация лишь немного изменилась.

Результаты видеокарт расположились на диаграмме примерно соответственно теории, за некоторыми исключениями. Интересно, что лидирующая тройка Radeon показывает близкие друг к другу результаты, которые, к слову, подтверждают теорию — HD 7870, HD 7950 и HD 6970 имеют близкие пиковые характеристики блоков ALU. Понятно, что все они при этом оказались значительно быстрее обеих карт Geforce, имеющих лишь чуть больше половины такой мощи.

Рассмотрим второй тест шейдерных вычислений, который носит название Fire. Он тяжелее для ALU, и текстурная выборка в нём только одна, а количество инструкций типа sin и cos увеличено вдвое, до 130. Посмотрим, что изменилось при увеличении нагрузки:

И снова мы видим почти идентичную предыдущей картину, разве что сами цифры поменялись, но не их соотношение. Все графические процессоры остались примерно на тех же позициях. Хотя строгого соответствия теоретическим цифрам пиковой производительности нет, результаты всех решений к ним довольно близки. Так, разница между HD 7770 и HD 7750 близка к соответствующему соотношению пиковых цифра по скорости вычислений.

Диаграмма полностью соответствует теории. Скорость рендеринга в данном тесте ограничена исключительно производительностью шейдерных блоков и их эффективностью, поэтому три платы Radeon снова показали близкие результаты, став лучшими картами сравнения. Понятно, что HD 7770 им серьёзно уступает, как и обе Geforce — обе платы Nvidia конкурируют разве что со слабейшей AMD. Собственно, вывод простой: в предельных вычислительных задачах до выхода Kepler ничего AMD не грозит, они до сих пор выигрывают все чисто математические битвы.

Direct3D 10: тесты геометрических шейдеров

В пакете RightMark3D 2.0 есть два теста скорости геометрических шейдеров, первый вариант носит название «Galaxy», техника аналогична «point sprites» из предыдущих версий Direct3D. В нем анимируется система частиц на GPU, геометрический шейдер из каждой точки создает четыре вершины, образующие частицу. Аналогичные алгоритмы должны получить широкое использование в будущих играх под DirectX 10.

Изменение балансировки в тестах геометрических шейдеров не влияет на конечный результат рендеринга, итоговая картинка всегда абсолютно одинакова, изменяются лишь способы обработки сцены. Параметр «GS load» определяет, в каком из шейдеров производятся вычисления — в вершинном или геометрическом. Количество вычислений всегда одинаково.

Рассмотрим первый вариант теста «Galaxy», с вычислениями в вершинном шейдере, для трёх уровней геометрической сложности:

Соотношение скоростей при разной геометрической сложности сцен примерно одинаковое для всех решений, производительность соответствует количеству точек, с каждым шагом падение FPS почти двукратное. Задача эта для современных видеокарт не слишком сложная, и производительность в ней ограничена или скоростью обработки геометрии или пропускной способностью памяти.

Похоже, что основным ограничителем в данном случае стала ПСП — именно поэтому свежая видеокарта серии Radeon HD 7800 серьёзно проигрывает своей старшей сестре HD 7950. Впрочем, HD 6970 из предыдущего поколения она опережает, так что не всё зависит лишь от памяти. Очень интересно почти полное соответствие результатов карты семейства HD 7900 и GTX 570 — они обе находятся на вершине и показывают почти в полтора раза лучшую производительность в этом тесте. Всё же урезанная шина памяти иногда сказывается и в синтетических тестах.

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

При изменении нагрузки в этом тесте цифры почти не изменились для решений Nvidia и лишь немного улучшились для новых плат AMD. Все видеокарты в данном тесте слабо реагируют на изменение параметра GS load, отвечающего за перенос части вычислений в геометрический шейдер, поэтому и все выводы остаются прежними. Давайте посмотрим, что изменится в следующем тесте, который предполагает большую нагрузку именно на геометрические шейдеры.

«Hyperlight» — это второй тест геометрических шейдеров, демонстрирующий использование сразу нескольких техник: instancing, stream output, buffer load. В нем используется динамическое создание геометрии при помощи отрисовки в два буфера, а также новая возможность Direct3D 10 — stream output. Первый шейдер генерирует направление лучей, скорость и направление их роста, эти данные помещаются в буфер, который используется вторым шейдером для отрисовки. По каждой точке луча строятся 14 вершин по кругу, всего до миллиона выходных точек.

Новый тип шейдерных программ используется для генерации «лучей», а с параметром «GS load», выставленным в «Heavy» — ещё и для их отрисовки. То есть в режиме «Balanced» геометрические шейдеры используются только для создания и «роста» лучей, вывод осуществляется при помощи «instancing», а в режиме «Heavy» выводом также занимается геометрический шейдер.

К сожалению, из-за ошибки в драйвере данный тест просто не запустился на Radeon HD 7870. Увы, но самый сложный геометрический тест, показывающий все возможности GPU по обработке геометрии и скорости исполнения геометрических шейдеров мы запустить не смогли. И хотя мы знаем, что эти возможности у новых чипов AMD явно улучшены, решения Radeon продолжают уступать Geforce в наиболее сложных тестах.

Direct3D 10: скорость выборки текстур из вершинных шейдеров

В тестах «Vertex Texture Fetch» измеряется скорость большого количества текстурных выборок из вершинного шейдера. Тесты схожи по сути, так что соотношение между результатами карт в тестах «Earth» и «Waves» должно быть примерно одинаковым. В обоих тестах используется displacement mapping на основании данных текстурных выборок, единственное существенное отличие состоит в том, что в тесте «Waves» используются условные переходы, а в «Earth» — нет.

Рассмотрим первый тест «Earth», сначала в режиме «Effect detail Low»:

Наши предыдущие исследования показали, что на результаты этого теста может влиять и скорость текстурирования и пропускная способность памяти. А результаты видеокарт Nvidia в простых режимах ограничены и ещё чем-то. Да и вообще, в сложных условиях между схожими по классу платами разница получается очень маленькая — проценты, а не разы.

Вот и в этот раз разве что Radeon HD 7770 сильно отстала от остального набора видеокарт. Все остальные решения выступили неплохо. Причём, новая плата компании AMD из семейства Radeon HD 7800 во всех режимах показала лучший результат, обогнав не только предшественницу Radeon HD 6970, но и топовую HD 7950. Посмотрим на производительность в этом же тесте с увеличенным количеством текстурных выборок:

Взаимное расположение карт на диаграмме изменилось в основном за счёт того, что платы Nvidia обеспечили высокую скорость рендеринга в тяжёлых режимах. При малом количестве полигонов скорость рендеринга для карт AMD упирается в ПСП, а платы Nvidia не могут показать результаты лучше, чем в среднем — явный упор во что-то (тоже ПСП?). Зато в тяжёлых режимах обе видеокарты Nvidia улучшили результаты и теперь вполне конкурируют с Radeon HD 7950 и новой моделью HD 7870, идущими практически вровень.

Рассмотрим результаты второго теста текстурных выборок из вершинных шейдеров. Тест «Waves» отличается меньшим количеством выборок, зато в нём используются условные переходы. Количество билинейных текстурных выборок в данном случае до 14 («Effect detail Low») или до 24 («Effect detail High») на каждую вершину. Сложность геометрии изменяется аналогично предыдущему тесту.

Результаты во втором тесте вершинного текстурирования «Waves» лишь немного напоминают то, что мы видели на предыдущих диаграммах. В этом тесте видеокарты AMD и Nvidia выстроились почти по чёткой лесенке, за исключением выпавшей из тренда Radeon HD 7770. Кроме этой low-end видеокарты AMD, все остальные платы компании выступили сильнее обеих Geforce.

А самое приятное в том, что новая модель из семейства HD 7800 показала лучший результат, снова обогнав даже Radeon HD 7950 из верхнего семейства. Похоже, что упора производительности в ПСП уже нет, а HD 7870 выигрывает из-за лучшей производительности блоков ROP. Рассмотрим второй вариант этого же теста:

И снова произошли изменения, аналогичные тем, что мы видели ранее — все видеокарты немного ухудшили свои результаты, но Nvidia уступили сильнее, что позволило платам на чипах AMD одержать над ними ещё более явную победу. Даже Radeon HD 7770 при тяжёлых настройках конкурирует с Geforce GTX 570. А уж лучшей платой снова стала сегодняшняя героиня — HD 7870.

В целом, новая плата из семейства HD 7800 в тестах вершинных выборок показала себя весьма неплохо, всегда обгоняла не только конкурирующие решения компании Nvidia, но и почти везде опережала ранее анонсированную плату из серии Radeon HD 7900, основанную на более сложном и дорогом GPU. Отличный результат!

3DMark Vantage: тесты Feature

Синтетические тесты из пакета 3DMark Vantage покажут нам то, что мы ранее упустили. Feature тесты из этого тестового пакета обладают поддержкой DirectX 10 и интересны тем, что отличаются от наших и до сих пор актуальны. При анализе результатов новой видеокарты из линейки Radeon HD 7800 в этом пакете мы сделаем какие-то новые и полезные выводы, ускользнувшие от нас в тестах семейства RightMark.

Feature Test 1: Texture Fill

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

Хотя тест компании Futuremark и не показывает теоретически возможного уровня по производительности текстурных выборок, но эффективность видеокарт AMD и Nvidia в нём достаточно высока и сравнительные цифры близки к соответствующим теоретическим параметрам. Лучшей видеокартой сравнения стала топовая модель семейства Radeon HD 7000, что подтверждает теоретические показатели.

Рассматриваемая сегодня Radeon HD 7870 показывает второй результат, отставая только от одной из топовых плат и опережая Radeon HD 6970, что очень и очень неплохо. Все остальные платы далеко позади. В случае Radeon HD 7770 это объясняется её бюджетным уровнем, а в случае обеих Geforce — слишком малым количеством блоков TMU. Видеокарты Nvidia в этом тесте всегда слабы, даже лучшая из пары GTX 560 Ti показывает результат, далёкий от уровня трёх близких по уровню видеокарт Radeon. Разница между моделями на базе Pitcairn и Tahiti полностью соответствует теории.

Feature Test 2: Color Fill

Это тест скорости заполнения. Используется очень простой пиксельный шейдер, не ограничивающий производительность. Интерполированное значение цвета записывается во внеэкранный буфер (render target) с использованием альфа-блендинга. Используется 16-битный внеэкранный буфер формата FP16, наиболее часто используемый в играх, применяющих HDR-рендеринг, поэтому такой тест является вполне своевременным.

Как видите, ситуация в тесте производительности блоков ROP совсем другая. Как мы определили раньше, цифры этого подтеста из 3DMark Vantage хоть и показывают производительность блоков ROP, но с огромным влиянием величины пропускной способности видеопамяти (т. н. «эффективный филлрейт»). Что отлично видно по сравнительным результатам плат семейства Radeon HD 7000.

Увы, но в данном случае тест измеряет скорее пропускную способность памяти, чем производительность ROP, и поэтому Radeon HD 7870 уступает не только HD 7950, но и HD 6970 — в полном соответствии с теорией. И новая модель компании AMD в этом сравнении показала результат, сравнимый со скоростью GTX 570, что подтверждает теорию об ограничении скорости ПСП.

Feature Test 3: Parallax Occlusion Mapping

Один из самых интересных feature-тестов, так как подобная техника уже используется в играх. В нём рисуется один четырехугольник (точнее, два треугольника) с применением специальной техники Parallax Occlusion Mapping, имитирующей сложную геометрию. Используются довольно ресурсоёмкие операции по трассировке лучей и карта глубины большого разрешения. Также эта поверхность затеняется при помощи тяжёлого алгоритма Strauss. Это тест очень сложного и тяжелого для видеочипа пиксельного шейдера, содержащего многочисленные текстурные выборки при трассировке лучей, динамические ветвления и сложные расчёты освещения по Strauss.

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

И тут новое семейство на базе новейшей архитектуры GCN проявило себя просто отлично. Результаты новых видеокарт AMD показывают, что в таких сложных вычислительных задачах платы серии Radeon HD 7000 весьма эффективно справляются с задачей. Даже слабая видеокарта HD 7770 находится между GTX 560 Ti и GTX 570, а все остальные платы — далеко впереди них.

Сравнительные цифры решений на чипах AMD разных поколений подтверждают улучшенную эффективность исполнения сложных вычислений с ветвлениями на GPU новой архитектуры. Поэтому HD 7870 опередила HD 6970, хотя теоретически имеет несколько меньшую вычислительную мощь. Правда, HD 7950 всё равно впереди, но это также легко объясняется спецификацией видеокарт — скорость блоков ALU у последней выше на 12%, ровно настолько же новинка и отстала от HD 7950 в тесте.

Feature Test 4: GPU Cloth

Тест интересен тем, что рассчитывает физические взаимодействия (имитация ткани) при помощи видеочипа. Используется вершинная симуляция, при помощи комбинированной работы вершинного и геометрического шейдеров, с несколькими проходами. Используется stream out для переноса вершин из одного прохода симуляции к другому. Таким образом, тестируется производительность исполнения вершинных и геометрических шейдеров и скорость stream out.

Скорость рендеринга в этом тесте также может зависеть от нескольких параметров, но основными факторами влияния являются производительность обработки геометрии, эффективность выполнения геометрических шейдеров и производительность блоков ROP. Поэтому вполне логично, что видеокарты производства Nvidia, имеющие по несколько геометрических блоков, чувствуют себя в этом приложении весьма неплохо, а Geforce GTX 570 опережает всех конкурентов, являясь лидером теста.

Но посмотрите — и представленная недавно модель Radeon HD 7870 показывает отличный второй по порядку результат, опережая остальные представленные в сравнении платы компании AMD! И так получается и из-за большего филлрейта и большей частоты GPU, на которой работают геометрические блоки. Это один из тех тестов, в которых видно преимущество решений Nvidia, имеющих несколько геометрических блоков, но и новинки AMD с улучшенной геометрической производительностью выступают тут неплохо.

Feature Test 5: GPU Particles

Тест физической симуляции эффектов на базе систем частиц, рассчитываемых при помощи видеочипа. Также используется вершинная симуляция, каждая вершина представляет одиночную частицу. Stream out используется с той же целью, что и в предыдущем тесте. Рассчитывается несколько сотен тысяч частиц, все анимируются отдельно, также рассчитываются их столкновения с картой высот.

Аналогично одному из тестов нашего RightMark3D 2.0, частицы отрисовываются при помощи геометрического шейдера, который из каждой точки создает четыре вершины, образующие частицу. Но тест больше всего загружает шейдерные блоки вершинными расчётами, также тестируется stream out.

Результаты ещё одного теста из пакета 3DMark Vantage были бы похожи на те, что мы видели на предыдущей диаграмме, но производительность блоков геометрии в нём ещё важнее. И поэтому платы Radeon просто провалились, по отношению к Geforce. Посмотрите сами, теперь лучший результат у GTX 570, а второй у GTX 560 Ti.

К сожалению, плата с GPU с кодовым именем Pitcairn тут не особенно блещет, располагаясь между Cayman и Tahiti Pro. Причём, HD 7950 она уступает скорее из-за низкого филлрейта и ПСП, а не скорости геометрических блоков. Ну и даже до предыдущего поколения плат Nvidia новинке далеко. Итак, в синтетических тестах имитации тканей и частиц из тестового пакета 3DMark Vantage, в которых активно используются геометрические шейдеры, ничего не изменилось — новому решению AMD мешают низкие показатели ПСП и филлрейта (производительности блоков ROP).

Feature Test 6: Perlin Noise

Последний feature-тест пакета Vantage является математически-интенсивным тестом видеочипа, он рассчитывает несколько октав алгоритма Perlin noise в пиксельном шейдере. Каждый цветовой канал использует собственную функцию шума для большей нагрузки на видеочип. Perlin noise — это стандартный алгоритм, часто применяемый в процедурном текстурировании, он использует много математических расчётов.

В чисто математическом тесте из пакета компании Futuremark, показывающем пиковую производительность видеочипов в предельных задачах, мы видим немного иное распределение результатов, по сравнению с аналогичными тестами из нашего тестового пакета Rightmark. В этот раз показанная на диаграмме производительность решений соответствует теории лишь примерно, и несколько расходится с тем, что мы видели ранее в математических тестах из пакета RightMark 2.0.

Отметим, что новая архитектура GCN и с этой задачей справляется неплохо, явно лучше устаревшей Fermi компании Nvidia. Решения AMD в целом в таких тестах много быстрее, и младшая из плат Geforce показывает скорость на уровне карты из линейки Radeon HD 7700, и даже GTX 570 не может догнать любую из тройки быстрейших Radeon. Видеокарты AMD всегда показывают лучшие результаты в случаях, когда выполняется простая и интенсивная математика.

Что касается представленной недавно новинки по сравнению со своими сородичами, то отметим, что Radeon HD 6970 она обошла весьма уверенно и лишь совсем немного уступила плате из старшей линейки HD 7950. Это очень хороший результат, учитывая, что по теории она должна быть медленнее на 12%, а разница на практике составила лишь 2%.

Direct3D 11: Вычислительные шейдеры

Чтобы протестировать новые решения компании AMD и в задачах, использующих такие новые возможности DirectX 11, как тесселяция и вычислительные шейдеры, мы воспользовались примерами из пакетов для разработчиков (SDK) и демонстрационными программами компаний Microsoft, Nvidia и AMD. К сожалению, пока что мы тестировали не все решения в этих задачах, и придётся сравнивать модель HD 7870 не с GTX 560 Ti и GTX 570, а с GTX 580, что не совсем корректно. Да и вместо HD 7950 придётся рассматривать топовую HD 7970.

Сначала мы рассмотрим тесты, использующие вычислительные (Compute) шейдеры. Их появление — одно из наиболее важных нововведений в последних версиях DX API, они уже используются в современных играх для выполнения различных задач: постобработки, симуляций и т. п. В первом тесте показан пример HDR-рендеринга с tone mapping из DirectX SDK, с постобработкой, использующей пиксельные и вычислительные шейдеры.

Пусть это не самый удачный пример для вычислительных шейдеров, но всё же разницу в производительности он показывает. Разницы в скорости расчётов в вычислительном и пиксельном шейдерах для видеокарт AMD и Nvidia почти нет, но первые чуть быстрее в вычислительном, а Nvidia в пиксельном.

Возможно, результаты явно зависят не только от математической мощи, но и от ПСП. И всё же вполне правдоподобно выглядит отставание нового Radeon HD 7870 от HD 7970. Интересно, что новинка уступает в том числе и HD 6970, который быстрее по математике и имеет большую ПСП. Понятно, что топовая модель HD 7970 является лидером, а GTX 580 хоть и немного, но всё же быстрее, чем HD 7870.

Второй тест вычислительных шейдеров также взят из Microsoft DirectX SDK, в нём показана расчётная задача гравитации N тел (N-body) — симуляция динамической системы частиц, на которую воздействуют физические силы, такие как гравитация.

Результаты в этом тесте также весьма похожи на то, что мы видели в предыдущем тесте, разве что HD 7870 и HD 6970 поменялись местами. То есть, этот тест скорее всё-таки измеряет скорость математических вычислений. Новая модель AMD почти догнала и более дорогую Geforce GTX 580, которую нельзя считать её прямым конкурентом, так как она стоит дороже. В целом, результат новинки выглядит неплохо, если учесть не особенно большое отставание от лучшей одночиповой видеокарты вообще. Будет интересно посмотреть на производительность в задачах тесселяции, к которым мы сейчас переходим.

Direct3D 11: Производительность тесселяции

Вычислительные шейдеры очень важны, но ещё одним важным нововведением в Direct3D 11 считается аппаратная тесселяция. Мы очень подробно рассматривали её в своей теоретической статье про Nvidia GF100. Тесселяцию уже довольно давно начали использовать в DX11-играх, таких как STALKER: Зов Припяти, DiRT 2, Aliens vs Predator, Metro 2033, Civilization V, Crysis 2, Battlefield 3 и других. В некоторых из них тесселяция используется для моделей персонажей, в других — для имитации реалистичной водной поверхности или ландшафта.

Существует несколько различных схем разбиения графических примитивов (тесселяции). Например, phong tessellation, PN triangles, Catmull-Clark subdivision. Так, схема разбиения PN Triangles используется в STALKER: Зов Припяти, а в Metro 2033 — Phong tessellation. Эти методы сравнительно быстро и просто внедряются в процесс разработки игр и существующие движки, поэтому и стали популярными.

Первым тестом тесселяции будет пример Detail Tessellation из ATI Radeon SDK. В нём реализована не только тесселяция, но и две разные техники попиксельной обработки: простое наложение карт нормалей и parallax occlusion mapping. Что ж, сравним DX11-решения AMD и Nvidia в различных условиях:

Мы уже видели ранее, что parallax occlusion mapping (средние столбики на диаграмме) на видеокартах обоих производителей выполняется гораздо менее эффективно, чем тесселяция (нижние столбики), а тесселяция не даёт падения производительности в разы — сравните верхние и нижние столбцы. То есть, качественная имитация геометрии при помощи пиксельных расчётов обеспечивает даже меньшую производительность, чем оттесселированная геометрия с displacement mapping.

Что касается производительности видеокарт относительно друг друга, то тут есть над чем задуматься. В тесте простого бампмаппинга видно, что платы, скорее всего, снова упираются в ПСП, так как их результаты слишком близки. В остальном, картина более-менее правдоподобная, платы AMD расположились по ранжиру и лидирует топовая модель. Radeon HD 7870 в этом подтесте близка к GTX 580 и HD 6970.

Зато второй подтест со сложными пиксельными расчётами показывает, что эффективность выполнения сложных математических вычислений у чипов архитектуры GCN гораздо выше, чем у остальных участников сравнения. Так, плата семейства HD 7800 на чипе Pitcairn показала очень хороший результат в тесте parallax mapping по сравнению с HD 6970 и GTX 580, что снова говорит об очень высокой эффективности исполнения сложных шейдерных программ на чипах Southern Islands.

В самом интересном подтесте тесселяции разбиение треугольников весьма умеренное, и поэтому платы компании AMD теряют не слишком много производительности. Запаса скорости хватает и для того, чтобы опередить быстрейшую одночиповую видеокарту Nvidia. Но самый интересный вывод этого теста в том, что Radeon HD 7870 тут оказался быстрее чем Radeon HD 7970! Можно было бы объяснить это более высокой частотой GPU первого (ведь у него даже индекс специальный «GHz Edition»), на которой и работают геометрические блоки.

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

Вторым тестом производительности тесселяции будет ещё один пример для 3D-разработчиков из ATI Radeon SDK — PN Triangles. Собственно, оба примера входят также и в состав DX SDK, так что мы уверены, что на их основе создают свой код игровые разработчики. Этот пример мы протестировали с различным коэффициентом разбиения (tessellation factor), чтобы понять, как сильно влияет его изменение на общую производительность.

Внимательный читатель обязательно отметит, что в этот раз у нас на диаграмме просто нет результатов с максимальным уровнем тесселяции (tessellation factor = 19), которые мы указывали ранее. Ещё при тестировании линейки Radeon HD 7700 мы столкнулись с тем, что тест не даёт выставить максимальное значение этого параметра. Тогда мы предположили, что это видеодрайвер AMD «урезает» возможности так, чтобы видеокарты компании в синтетических тестах экстремальной тесселяции выглядели не так плохо, но оказалось, что дело вовсе не в драйверах...

Проведённое нами исследование показало, что изменения, запрещающие максимальный уровень тесселяции, были внесены в исходный код и скомпилированный пример из DirectX SDK более новой версии. Если пример PNTriangles11 в версии DX SDK от февраля 2010 ещё позволяет выставить значение Tess factor в 19, то в июньский SDK того же года было внесено изменение, запрещающее уровень тесселяции выше 9 (всё это подтверждается исходным кодом примера из SDK, одна из констант в новой его версии была заменена меньшим значением, не позволяющим выставить параметр, возможный в предыдущей версии).

Кто это сделал и зачем? Is fecit, qui prodest. Ищем, кому выгодно, рассматривая факты. Факт первый: PNTriangles11 — пример тесселяции, реализованный компанией AMD и внесённый как в их собственный SDK, так и в DirectX SDK. Факт второй: видеочипы AMD хуже конкурирующих справляются с тесселяцией при максимальных уровнях разбиения треугольников. Вывод получается очень простым: похоже, что компания AMD попросила Microsoft изменить исходный код данного примера в DX SDK от июня 2010 года, сделав небольшое исправление, почти не влияющее на его функциональность. Почти.

Мы понимаем, что такие уровни в играх использоваться не будут. Понимаем и то, что треугольники получаются слишком маленькими, чтобы быть эффективными. Но в нашем случае это — чисто синтетический тест, позволяющий выяснить теоретические пределы возможностей «железа». Пусть в синтетике всегда будут показаны честные результаты, а уж мы расскажем, что такой сложной геометрии в играх не будет ещё очень долго. Экстремальные коэффициенты разбиения вряд ли будут использоваться в играх ближайшего времени, но в этом разделе нас интересует архитектурный потенциал. В общем, такое вот исправление — это не самый красивый ход со стороны компании AMD, как нам кажется.

Ну что же, рассмотрим хотя бы три уровня тесселяции, без максимального. В этом примере мы видим уже более правдоподобное сравнение геометрической мощи различных решений AMD и Nvidia. Все современные чипы неплохо справляются с такой нагрузкой (без tess factor = 19), и тут можно выделить разве что Radeon HD 7770, уступающий остальным по причине общей слабости. Но в целом все новые чипы архитектуры AMD GCN весьма хороши, а Radeon HD 7970 так и вовсе обогнал даже Geforce GTX 580.

Что касается нашего сегодняшнего героя, то Radeon HD 7870 лишь чуть-чуть уступил своему старшему собрату в лице топовой платы текущего поколения, что является просто отличным результатом! Видно, что чипы архитектуры GCN в тесселяции заметно быстрее чипа Cayman, даже бюджетный. Поэтому можно ожидать, что решения на Pitcairn будут сильны и в других существующих тестах с применением тесселяции, таких как 3DMark 11 и Heaven.

Но давайте рассмотрим результаты ещё одного теста — демонстрационной программы Nvidia Realistic Water Terrain, также известной как Island. В этой демке используется тесселяция и карты смещения (displacement mapping) для рендеринга реалистично выглядящей поверхности океана и ландшафта.

Island не является чисто синтетическим тестом для измерения одной только геометрической производительности, он содержит и сложные пиксельные и вычислительные шейдеры в том числе, и такая нагрузка ближе к реальным играм, в которых используются сразу все блоки GPU, а не только геометрические, как в предыдущем бенчмарке.

Мы протестировали программу при четырёх разных коэффициентах тесселяции, в её случае настройка называется Dynamic Tessellation LOD. И если при низких коэффициентах разбиения треугольников видеокарты компании AMD весьма сильны, то при усложнении работы единственная плата Nvidia начинает выигрывать. При увеличении коэффициента разбиения и сложности сцены производительность всех Radeon падает сильнее, и тут можно было бы снова признать победу Nvidia в сложных геометрических тестах и на этом закончить.

Но это если не обращать внимания на явно аномальный результат рассматриваемой сегодня Radeon HD 7870. Как-то так получилось, что она обогнала HD 7970, да ещё с огромным преимуществом! Такого просто не может быть в принципе, исходя из теоретических спецификаций, поэтому снова необходимо разобраться. В этот раз виноваты специальные оптимизации в видеодрайвере AMD Catalyst свежей версии. HD 7970 и HD 7770 мы тестировали ещё с предыдущими версиями драйверов, в которых не было этих оптимизаций, а в последнем Catalyst они появились. И теперь Radeon HD 7870 чуть ли не на уровне Geforce GTX 580. Там, где HD 7970 сильно проигрывала. Сказка? Нет, скорее — известные оптимизации тесселяции, которые ранее отмечались разве что в игровых приложениях, но не чистой синтетике. Увы, снова отмечаем некоторое лукавство со стороны AMD.

Если не принимать это во внимание, отметим, что в условиях тяжёлой геометрической нагрузки новые чипы всё равно весьма хороши, количество и эффективность геометрических блоков в разных чипах семейства одинаковое, а разница в скорости обусловлена различной тактовой частотой и влиянием на общую производительность других параметров. В целом, GCN очень сильно подтянули геометрическую производительность и в реальных применениях не уступают Fermi компании Nvidia. Ещё бы в AMD не применяли сомнительных методов по «оптимизации»...

Выводы по синтетическим тестам

По результатам проведённых синтетических тестов новой модели видеокарты из серии Radeon HD 7800, основанной на графическом процессоре Pitcairn из семейства Southern Islands, а также результатам других моделей видеокарт производства обоих производителей дискретных видеочипов, делаем вывод о том, что новые среднебюджетные решения должны хорошо вписаться в линейку компании AMD и стать одними из наиболее выгодных покупок. Radeon HD 7870 в синтетических тестах выглядит очень неплохо, выступая зачастую на уровне младшей из топовых видеокарт на базе Tahiti, но стоит при этом заметно меньше и будет продаваться более массово.

Графический процессор Pitcairn выполнен с применением самого современного техпроцесса 28 нм на основе новой архитектуры GCN, которая сильно отличается от предыдущих решений компании. Отметим, что новое семейство GPU имеет массу архитектурных улучшений, направленных на увеличение эффективности выполнения сложных вычислений на GPU и ускорение обработки геометрических данных (в т.ч. тесселяции). Наш набор синтетических тестов показал, что эффективность вычислений в таких задачах действительно выросла.

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

В целом же, благодаря проведённым архитектурным изменениям, видеокарты новой серии должны стать весьма выгодным вариантом для покупки и модернизации игровых систем, они точно будут одними из наиболее продаваемых DirectX 11 решений, и в перспективе улучшат позиции компании AMD на рынке, особенно с учётом отсутствия 28-нанометровых новинок конкурента. Причём, в отличие от младших решений на Cape Verde, видеокарты на Pitcairn не страдают от низкой пропускной способности видеопамяти, отлично сбалансированы и показывают весьма сильные результаты.

По сути, семейство Radeon HD 7800 является той золотой серединой, которая лучше всего подойдёт большинству игроков — они не слишком дорогие, как HD 7900, но и не слишком медленные, как HD 7700. Мы уверены, что сильные результаты Radeon HD 7870 в синтетических тестах будут подкреплены и отличными показателями в игровых приложениях. Новые платы обязаны показать конкурентоспособную скорость в играх по сравнению с соперниками Nvidia, и в следующей части материала мы как раз это и проверим.

AMD Radeon HD 7870 — Часть 3: производительность в игровых тестах →

Блок питания для тестового стенда предоставлен компанией Tagan

Корпус ThermalTake 8430 для тестового стенда предоставлен компанией 3Logic

Монитор Dell 3007WFP для тестовых стендов предоставлен компанией Nvidia