Nvidia Geforce GTX 680:

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


Содержание

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

Плата

Nvidia Geforce GTX 680 2048 МБ 256-битной GDDR5 PCI-E
  • GPU: Geforce GTX 680 (GK104)
  • Интерфейс: PCI Express x16
  • Частота работы GPU (ROPs): 1000-1100 МГц (номинал — 1000-1100 МГц)
  • Частота работы памяти (физическая (эффективная)): 1500 (6000) МГц (номинал — 1500 (6000) МГц)
  • Ширина шины обмена с памятью: 256 бит
  • Число вычислительных блоков в GPU/частота работы блоков: 8/1000-1100 МГц (номинал — 8/1000-1100 МГц)
  • Число операций (ALU) в блоке: 192
  • Суммарное число операций (ALU): 1536
  • Число блоков текстурирования: 128 (BLF/TLF/ANIS)
  • Число блоков растеризации (ROP): 32
  • Размеры: 255×100×33 мм (последняя величина — максимальная толщина видеокарты)
  • Цвет текстолита: черный
  • Энергопотребление (пиковое в 3D/в режиме 2D/в режиме «сна»): 197-212/79/65 Вт
  • Выходные гнезда: 2×DVI (Dual-Link/VGA), 1×HDMI 1.4a, 1×DisplayPort 1.2
  • Поддержка многопроцессорной работы: SLI (Hardware)

Nvidia Geforce GTX 680 2048 МБ 256-битной GDDR5 PCI-E
Карта имеет 2048 МБ памяти GDDR5 SDRAM, размещенной в 8 микросхемах на лицевой сторонe PCB.

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

Сравнение с эталонным дизайном HD 6970, вид спереди
Nvidia Geforce GTX 680 2048 МБ 256-битной GDDR5 PCI-E Reference card Nvidia Geforce GTX 580

Сравнение с эталонным дизайном HD 6970, вид сзади
Nvidia Geforce GTX 680 2048 МБ 256-битной GDDR5 PCI-E Reference card Nvidia Geforce GTX 580

Совсем недавно, при рассмотрении Radeon HD 7970 мы говорили, что сравнивать карты с совершенной разной шириной шины обмена с памятью — очень тяжело, но традиционно мы должны покивать в сторону предыдущего поколения и сказать: как же все изменилось! :) Вот только разница в том, что если в случае с 7970 мы писали: «из-за того, что много лет продукты топового класса имели шину в 256 бит, теперь их даже тяжело сравнивать с новыми. Хорошо видно, что число микросхем памяти возросло с 8 до 12 (каждая микросхема обеспечивает 32-битный доступ, умножить на 12 — и получим общую шину в 384 бита)» . А теперь должны писать с точностью до наоборот: предыдущий топовый продукт Geforce GTX 580 имел шину в 384-бит, а теперь уже наблюдаем 256-бит у 680.

Связано это с тем, что изначально GK104 планировался как «середнячок», как наследник Geforce GTX 560 Ti, ну и конкурент соответствующим решениям AMD в ценовой нише ниже 300 долларов США. Поэтому ядро получило соответствующий контроллер памяти, расчитанный на 256 битную шину. Странно, конечно, считать, что если сделать вычислительную мощь чипа в 2-3 раза сильнее, чем у предыдущего топового решения, а также увеличить количество TMU/ROP на 40%, то как бы, увеличивать ПСП особо и не надо. В результате чего выяснилось, что GK104 по производительности способен конкурировать даже с топовым Radeon HD 7970. Однако дело сделано: чип не переделать, шину не увеличить. Поэтому пришлось искать самую быструю GDDR5, что только есть, чтобы ПСП хотя бы оказалась такой же, как у GTX 580. Как мы понимаем, все равно это удавка на производительности ядра. Наши тесты дальше это прекрасно покажут.

Учитывая более простой дизайн PCB, чем у GTX 580, нет особого резона делать карту длинной, поэтому размеры оказались чуть меньше, чем мы привыкли видеть у топовых ускорителей.

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

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

Напомним также, что продукты Nvidia прошлых поколений, обладающие аппартной поддержкой SLI, имеют возможность вывода картинки игры одновременно на несколько мониторов (при условии одновременно работающих двух или более карт в режиме SLI). Так вот, теперь уже одиночная карта GTX 680 способна выводить картинку одновременно на ЧЕТЫРЕ монитора! При этом возможна работа и в стерео-режиме - это весьма важное новшество.

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

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

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

Карта требует дополнительного питания, причем двумя 6-контактными разъемами. Обратите особое внимание на расположение этих гнезд. Раньше всегда два гнезда питания соседствовали на PCB, будучи припаянными раздельно на карте. Теперь же установлен специальный блок, в котором разъемы питания размещены один над другим на манер этажерки. Мы помним такой вариант размещения гнезд (замками друг ко другу) у карт типа 9800 GX2 (двухпроцессорных ускорителей, имевщих не одну, а две PCB, и каждая имела свое гнездо питания). Это очень неудобно - так как приходится протискивать палец в середину этого блока для нажатия на замки разъемов питания. Очень непонятно, почему отказались от традиционной схемы размещения, ведь на фото отчетливо видно, что PCB имеет распайку под еще одно гнездо питания стандартного размера.

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

Nvidia Geforce GTX 680 2048 МБ 256-битной GDDR5 PCI-E
Система охлаждения внешне не претерпела особых изменений после GTX 580, да и незачем, ведь ядро греется меньше, карта потребляет также меньше, сама PCB не сложна.

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

Однако же в данном устройстве используется более современный и бесшумный вентилятор, который даже при работе на 2500 оборотах в минуту малошумен. А концепция ускорителя в целом предусматривает поддержание температуры ядра в пределах 80 градусов (плюс-минус), поэтому ради этого вентилятор может работать и на высоких оборотах, что мы могли наблюдать в ходе многочасовых прогонов под сильной нагрузкой, и тогда уже шум был ощутим.

Мы провели исследование температурного режима с помощью новой бета-версии утилиты MSI Afterburner (автор А. Николайчук AKA Unwinder) и получили следующие результаты. Хочу напомнить, что GTX 680 по ядру работает на плавающих частотах от 1000 до 1100 МГц. Что делает разгон весьма проблематичным, поскольку диапазоны частот работы на номинальном и разогнанном режимах могут пересекаться. Мы получили стабильную работу карты на диапазоне частот 1129-1229 МГц. При этом выбор частоты работы в каждый конкретный момент остается за драйвером, поэтому иногда в тот же самый момент при работе в штатном режиме частота может быть 1100 МГц, а при работе в режиме оверклокинга - 1129 МГц, и как следствие, прироста производительности может почти не быть. Поэтому не следует ожидать примерно одинаковых процентов приростов скорости при разгоне.

Вернемся к мониторингу.

Nvidia Geforce GTX 680 2048 МБ 256-битной GDDR5 PCI-E
Nvidia Geforce GTX 680 2048 МБ 256-битной GDDR5 PCI-E - при разгоне

Как мы видим, после 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/300.99

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-графики).

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

  • Geforce GTX 680 со стандартными параметрами (далее GTX 680)
  • Geforce GTX 590 со стандартными параметрами (далее GTX 590)
  • Geforce GTX 580 со стандартными параметрами (далее GTX 580)
  • Radeon HD 7970 со стандартными параметрами (далее HD 7970)
  • Radeon HD 7870 со стандартными параметрами (далее HD 7870)
  • Radeon HD 6970 со стандартными параметрами (далее HD 6970)

Для сравнения результатов анонсированной видеокарты Geforce GTX 680 именно эти модели были выбраны по следующим причинам. Geforce GTX 580 является старшей одночиповой моделью предыдущего поколения и прямым предшественником новинки, который она заменяет на рынке, а GTX 590 до сих пор остаётся быстрейшей видеокартой на двух видеочипах производства Nvidia.

Выбранные решения от конкурирующей компании AMD были взяты нами для тестов потому, что Radeon HD 7970 имеет близкую к анонсированной видеокарте Geforce цену (на момент написания статьи — даже выше), и является её прямым конкурентом на данный момент. Radeon HD 6970 взята как топовая предыдущая модель от конкурента, которая поможет оценить приросты от смены поколений у AMD и Nvidia. Ну а модель HD 7870 используется в нескольких тестах просто для того, чтобы посмотреть, насколько сильно придётся урезать GK104, чтобы создать конкурента для этой видеокарты.

Direct3D 9: тесты Pixel Shaders

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

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

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

Судя по предыдущим свежим сравнениям, производительность новых видеокарт в этих тестах ограничена чаще всего именно филлрейтом, хотя и влияние скорости текстурных модулей тоже прослеживается. Но оно неявное, так как Geforce GTX 680 не стал единоличным победителем, как мог бы, исходя из текстурной производительности. Отрывы от GTX 580 не позволяют выделить единственную характеристику, влияющую на скорость.

Топовая видеоплата компании AMD в этих тестах стала явным победителем, хотя разница несколько сократилась, по сравнению с тем, что было в предыдущих поколениях. В любом случае, HD 7870 вовсю конкурирует с GTX 680. Чего, по идее, быть не должно. Смущает и крайне небольшой прирост от SLI у двухчипового GTX 590. Возможно, здесь наблюдается разница в программных оптимизациях в драйверах.

За исключением пары тестов, GTX 680 выступает вполне на уровне GTX 590, что не может не радовать. А вот по сравнению с конкурирующей моделью Radeon HD 7970, новинка компании Nvidia явно уступает ей. Посмотрим на результаты более сложных пиксельных программ промежуточных версий:

А вот тут — совсем другое дело! Тест Cook-Torrance более интенсивен вычислительно, разница в нём примерно соответствует разнице в количестве ALU и их частоте, но и от скорости TMU она также зависит. Поэтому данный тест лучше подходит графическим решениям компании AMD, а теперь и Geforce GTX 680.

Именно эти модели завоевали лидерство в данных тестах, в одном из них (где важнее быстрая математика) чуть быстрее Radeon, в другом (где важна текстурная производительность) — Geforce немного впереди. Всё ровно так, как и должно быть по теории. Кроме того, новая модель GTX 680 в обоих тестах опережает двухчиповый GTX 590 и заметно впереди GTX 580.

Во втором, больше зависящем от скорости текстурирования, тесте процедурной визуализации воды «Water» используется зависимая выборка из текстур больших уровней вложенности, и поэтому видеокарты в нём располагаются по скорости текстурирования. И в этом «текстурном» тесте разница между GTX 680 и GTX 580 получилась чуть ли не трёхкратной!

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

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

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

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

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

Производительность свежих видеокарт AMD в тесте «Frozen Glass» значительно выше, чем у новинки, ведь даже Radeon HD 6970 оказалась впереди. Возможно, скорость GTX 680 упирается в филлрейт, но скорее всего, чипы Nvidia просто неэффективно выполняют эту задачу. Ну а в сравнении с предшественниками, GTX 680 почти догнала двухчиповый GTX 590, правда преимущество над GTX 580 не такое уж и большое и не соответствует росту ни одного из пиковых показателей.

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

Для плат с GPU производства Nvidia положение стало заметно лучше, и Geforce GTX 680 отстаёт от Radeon HD 7970 уже гораздо меньше и уже смогла обогнать HD 7870. И всё же скорость Geforce упирается во что-то, так как разница между новыми моделями и старыми должна быть больше. Хотя жаловаться грех, ведь в этот раз первый из Kepler обогнал быстрейшую видеоплату на двух чипах Fermi! Но всё же, современные чипы AMD в этих задачах эффективнее и догнать их не удалось. Видеокарта Geforce в тесте Parallax Mapping отстаёт лишь немного, но во втором отставание больше.

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

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

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

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

Наш сегодняшний герой также показал очень неплохие результаты, хотя в одном из тестов серьёзно уступил более эффективному в тяжёлых задачах Radeon HD 7970 и конкурирует лишь с младшим Radeon из новой серии. Зато в «Fur» он показывает результат на уровне двухчиповой GTX 590 и почти как у HD 7970. Это более чем в полтора раза лучше, чем у предшествующей одночиповой модели. Большей разницы между ними не получилось из-за снижения эффективности выполнения сложных задач — упрощение SM явно сказалось на Kepler в подобных задачах.

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, но также влияет и эффективность выполнения сложных программ. В варианте без суперсэмплинга дополнительное влияние на производительность оказывает ещё и эффективный филлрейт и пропускная способность памяти (в меньшей степени). Результаты при детализации уровня «High» получаются до полутора раза ниже, чем при «Low».

Как и в аналогичных DX9 тестах, в задачах процедурной визуализации меха с большим количеством текстурных выборок, решения Nvidia раньше были заметно сильнее, но за пару поколений GPU компания AMD не только сократила разницу, но с выпуском GCN и вовсе вырвалась вперёд. И теперь мы часто видим Radeon HD 7970 в лидерах таких сравнений, что отлично говорит о высокой эффективности выполнения сложных пиксельных программ.

Рассматриваемая сегодня Geforce GTX 680 показала средний результат между GTX 580 и GTX 590, что может указывать на снизившуюся эффективность исполнения сложных шейдеров в Kepler. Разница между GTX 580 и GTX 680 не впечатляет — лишь 14-17%! Впрочем, возможно тут виноват сниженный филлрейт или пропускная способность памяти.

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

Действительно, GTX 680 явно улучшила результат относительно решений предыдущей линейки, и теперь она показывает скорость на уровне двухчиповой GTX 590. Но при включении суперсэмплинга, увеличивающего теоретическую нагрузку вчетверо, в целом результаты решений Nvidia значительно ухудшились, по сравнению с показателями видеокарт от AMD. И разница в эффективности выполнения данной задачи между ними стала просто огромной.

Протестированная новинка от Nvidia проигрывают чуть ли не вдвое проигрывает своему конкуренту от компании AMD. А топовая плата из серии HD 7000 в этом тесте показывает просто отличный уровень производительности, что явно говорит о «любви» к сложным вычислениям. Подумать только, а ведь раньше это было преимущество архитектур Nvidia! Теперь их внимание (по крайней мере, для игровых видеокарт) явно сместилось в сторону быстрой геометрической обработки, в отличие от чипов AMD, предпочитающих попиксельные вычисления.

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

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

Диаграмма в целом очень похожа на предыдущую без включения SSAA, и решения Nvidia в этом тесте не смогли улучшить своё положение. Новая плата Geforce GTX 680 в обновленном D3D10-варианте теста без суперсэмплинга всё так же между GTX 580 и GTX 590, она не способна конкурировать с Radeon HD 7970. Посмотрим, что изменит включение суперсэмплинга, ведь он обычно вызывает сильное падение скорости на платах Nvidia.

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

В этот раз Geforce GTX 680 немного отстаёт от GTX 590 на базе двух GF110, а опережение GTX 580 не такое уж большое. Понятно, что Radeon HD 7970 снова далеко впереди, она даже в режиме большей детализации показывает почти ту же скорость, что GTX 680 в простом режиме! В очередной раз подтверждаем снижение эффективности Kepler относительно Fermi в таких задачах.

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

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

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

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

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

И действительно, результаты видеокарт расположились на диаграмме примерно соответственно теории, но с некоторыми исключениями. Geforce GTX 680 в этом тесте ведёт себя просто выше всяких похвал! Отставание новой модели Nvidia от лучшего решения конкурента — менее 3%! Когда это такое было видано? Причём, в этом тесте уже у Radeon эффективность ниже, чем у первого решения на Kepler. Исходя из теории (см. табличку в первой части статьи), разница между решениями должна быть значительно больше, но GTX 680 тут эффективнее работает и почти догоняет Radeon HD 7970.

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

К сожалению, в этот раз относительный результат новинки от Nvidia оказался ниже, и она уступила Radeon HD 7970 ровно столько, сколько должна по теории — около 22%. И она теперь ближе к HD 6970, чем к HD 7970. В остальном, цифры поменялись, но позиции карт остались неизменными. Строгого соответствия теоретическим цифрам пиковой производительности нет и в этот раз, но результаты всех решений к ним ближе, чем в предыдущем тесте.

Так что диаграмма полностью соответствует теории. Скорость рендеринга в данном тесте ограничена исключительно производительностью шейдерных блоков и их эффективностью, поэтому платы Radeon показывают сильные результаты, самая современная из них стала лидером сравнения. Но Geforce GTX 680 уступает ей не так сильно, как это было ранее, в предыдущих поколениях, когда разница была чуть ли не в разы.

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

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

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

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

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

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

Во-первых, сразу же видна разница между Nvidia и AMD. Если в пиксель-шейдерных тестах платы AMD явно были эффективнее и быстрее, то первый же тест геометрии показал, что в этих задачах равных платам калифорнийцев нет. И первый из Kepler лишь укрепил позиции, Geforce GTX 680 почти догнала двухчиповую GTX 590 в этом тесте, с запасом обойдя предшествующую одночиповую плату.

Во-вторых, что касается сравнения новинки с конкурентом, то тут последнему просто нечего ловить — разница полуторакратная. И Radeon HD 7970 может конкурировать ну разве что с GTX 580. Посмотрим, как изменится ситуация при переносе части вычислений в геометрический шейдер:

При изменении нагрузки в этом тесте цифры почти не изменились для старых решений Nvidia и лишь немного улучшились для новых плат AMD и... GTX 680. Все видеокарты в данном тесте слабо реагируют на изменение параметра GS load, отвечающего за перенос части вычислений в геометрический шейдер, поэтому и все выводы остаются прежними. Но теперь GTX 680 показала ровно такую же скорость, что и GTX 590. Ну а Radeon HD 7970 всё так же в полтора раза отстала. Смотрим, что изменится в следующем тесте, который предполагает большую нагрузку именно на геометрические шейдеры.

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

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

Относительные результаты в разных режимах также примерно соответствуют изменению нагрузки: во всех случаях производительность неплохо масштабируется и близка к теоретическим параметрам, по которым каждый следующий уровень «Polygon count» должен быть чуть менее чем в два раза медленней.

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

Да и по сравнению с конкурентом в этом тесте ситуация не такая радужная, как была на предыдущих диаграммах. Но всё же, новая плата на GK104 стала лучшей в сравнении (с учётом проблем у GTX 590), обогнав все остальные решения. Цифры должны измениться на следующей диаграмме, в тесте с более активным использованием геометрических шейдеров. Также будет интересно сравнить друг с другом результаты, полученные в режимах «Balanced» и «Heavy».

В этот раз диаграмма с переносом вычислений в геометрический шейдер меняется значительно серьёзнее. Все видеокарты Nvidia в этом сравнении явно быстрее всех плат AMD, но именно новинка на базе Kepler стала лучшей. Скорее всего, этот тест упирается именно в производительность геометрических блоков, и поэтому решения от Nvidia так сильны.

Все платы Geforce явно имеют преимущество перед чипами AMD с традиционным графическим конвейером, и GTX 680 ещё больше его укрепила. Она даже в тяжелом режиме показывает результат, как Radeon HD 7970 в среднем из них. Между GTX 580 и GTX 680 разница обусловлена преимуществом в тактовой частоте чипа GK104, на которой работают геометрические блоки.

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

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

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

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

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

Вот и в этот раз разве что Radeon HD 7970 вырвалась далеко вперёд, чем отличилась от остального набора видеокарт, включая и предшественницу HD 6970. Остальные решения выступили примерно одинаково, особенно это касается трёх плат от Nvidia, разницу между которыми можно увидеть лишь в лёгком режиме. Новая плата семейства GTX 600 смогла соперничать с HD 7970 только в лёгком режиме, а в остальных сильно отстала, и подозреваем, что так получилось из-за низкого филлрейта и/или ПСП. Посмотрим на производительность в этом же тесте с увеличенным количеством текстурных выборок:

Взаимное расположение карт на диаграмме изменилось в основном за счёт того, что платы Nvidia обеспечили высокую скорость рендеринга в тяжёлых режимах, в отличие от решений AMD, которые немного сдали. И теперь результаты GTX 680 очень близки к скорости Radeon HD 7970, только в лёгком режиме выиграла плата Nvidia, а в тяжёлом — AMD. Про сравнение GTX 680 и GTX 590 можно сказать ровно то же самое. Скорее всего, скорость в тесте ограничена или филлрейтом или ПСП.

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

А вот результаты во втором тесте вершинного текстурирования «Waves» совсем не похожи не то, что мы видели на предыдущих диаграммах. В этом тесте видеокарты AMD и Nvidia выстроились по линии. Почти все, кроме выпавшей из тренда Radeon HD 7970. Она и стала лучшей в сравнении (кроме самого лёгкого режима), выступив явно сильнее представленной сегодня платы Geforce GTX 680.

Все протестированные решения Nvidia снова упёрлись непонятно во что, показав чуть ли не идентичные результаты. Возможно, в этом тесте нет упора производительности в ПСП и текстурирование, а HD 7970 выигрывает из-за лучшей эффективности блоков ROP. Рассмотрим второй вариант этого же теста:

И в этот раз произошли изменения, аналогичные тем, что мы видели ранее — некоторые видеокарты немного ухудшили свои результаты, причём, в лёгких режимах пострадали платы Nvidia, а в тяжёлых — AMD. Это позволило платам Geforce немного приблизиться к результатам Radeon HD 7970. И всё же, топовая плата AMD осталась лидером, а представленная новинка архитектуры Kepler ей проиграла. Тесты вершинного текстурирования как были очень странными и малопонятными, так и остались. Похоже, пришло время попрощаться и с ними.

3DMark Vantage: тесты Feature

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

Feature Test 1: Texture Fill

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

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

Конечно, если сравнивать с предыдущими видеокартами Nvidia, тут огромное улучшение просто налицо. И всё же, новинка обогнала GTX 580 на 125%, хотя по теории должно быть 160%. То есть, GTX 680 по каким-то причинам не смогла раскрыться полностью в данном тесте. И скорее всего, вина лежит на сравнительно низкой ПСП. В любом случае, результат GTX 680 очень неплохой, она почти сравнялась с Radeon HD 7970, а это говорит о том, что один из недостатков предыдущих поколений устранён. Ранние видеокарты Nvidia в этом тесте были весьма слабы из-за малого количества TMU, а теперь всё стало намного лучше.

Feature Test 2: Color Fill

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

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

Новая модель Geforce GTX 680 неплохо справилась с работой, показав результат на одном уровне с Radeon HD 7970, имеющей теоретический филлрейт чуть хуже, но значительно более высокую пропускную способность памяти, и уступила только двухчиповой GTX 590. Интересно, что GTX 580 не помогла ни высокая ПСП, ни даже большее количество блоков ROP. Так что в Kepler явно видны улучшения в эффективности работы этих блоков, о которых мы писали в первой части статьи!

Feature Test 3: Parallax Occlusion Mapping

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

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

Интересно, что в синтетике из 3DMark Vantage новая плата Geforce показала примерно такой же результат, относительно других плат, что и в наших аналогичных тестах. Она немного не дотянула до скорости двухчиповой GTX 590, оказавшись быстрее предшественницы почти наполовину. Что явно маловато, если учитывать рост скорости текстурирования и математических вычислений. Похоже, что снова сказываются упрощения в вычислительных блоках Kepler, и его эффективность в таких задачах оказывается ниже, чем у Fermi и GCN.

Поэтому, по сравнению с платой AMD на базе новейшей архитектуры GCN новинке Nvidia в тесте похвастать особо нечем — она проиграла ей столько, сколько выиграла у GTX 580. В подобных сложных вычислительных задачах платы серии Radeon всё же эффективнее справляются с задачей, хотя и скорость первой из Kepler относительно старых решений компании весьма неплоха.

Feature Test 4: GPU Cloth

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

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

Да, топовая модель конкурента — Radeon HD 7970 — также усилила позиции компании, но так как это один из тех тестов, в которых видно преимущество решений Nvidia, имеющих по несколько геометрических блоков, то даже она не смогла дотянуться даже до Geforce GTX 580. Правда, представленная сегодня новинка на базе чипа GK104 не слишком то сильно опередила решение на одном GF110 — разница между ними составила лишь 6%. Вероятнее всего, вина в такой маленькой разнице лежит на ПСП, которая у GTX 680 нисколько не повысилась, относительно GTX 580. Или дело в скорости заполнения, которая даже снизилась.

Feature Test 5: GPU Particles

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

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

Результаты второго аналогичного теста из пакета 3DMark Vantage были бы похожи на те, что мы видели на предыдущей диаграмме, если бы не серьёзное падение относительной скорости Geforce GTX 680, которое нас весьма удивило. К сожалению, это один из немногих тестов, где новинка на базе первого чипа с архитектурой Kepler уступает последнему представителю архитектуры Fermi. И вот тут почти точно виновато меньшее количество блоков ROP и меньший филлрейт, так как отставание от GTX 580 ровно такое же, как и отставание по пиковому теоретическому показателю.

Но если сравнивать Geforce GTX 680 с главным конкурентом, то тут не всё так плохо — процентов 20% новинка у него выигрывает. Итак, в синтетических тестах имитации тканей и частиц из тестового пакета 3DMark Vantage, в которых активно используются геометрические шейдеры, для конкурентной борьбы Nvidia и AMD мало что изменилось — хотя новому решению Nvidia мешают низкие показатели ПСП и филлрейта, оно всё же остаётся впереди Radeon HD 7970.

Feature Test 6: Perlin Noise

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

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

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

А удивила нас сравнительно низкая эффективность Geforce GTX 680 в этом тесте. По идее, новинка должна быть вдвое быстрее GTX 580 и значительно быстрее GTX 590, но реальная разница в данном тесте получилась меньше. По какой-то причине даже в сравнительно «тупом» тесте Geforce GTX 680 не смогла подкрепить теорию, приблизившись к сопернику на 23%, как должно быть, в реальности отстав более чем на 40%. В этом тесте низкая ПСП не должна сказываться, поэтому все подозрения падают на всё ту же сниженную эффективность при выполнении шейдерных программ.

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

Чтобы протестировать новое решение компании Nvidia в задачах, использующих такие новые возможности DirectX 11, как тесселяция и вычислительные шейдеры, мы воспользовались примерами из пакетов для разработчиков (SDK) и демонстрационными программами компаний Microsoft, Nvidia и AMD.

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

Да, это не самый удачный пример для вычислительных шейдеров, но всё же разницу в производительности в одной из конкретных задач он показывает. Интересно, что если разница в скорости расчётов в вычислительном и пиксельном шейдерах для видеокарт Nvidia на базе Fermi была, то в Kepler её почти нет. Более того, GTX 680 чуть быстрее в вычислительном шейдере, ровно как и плата AMD.

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

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

А вот результаты в этом тесте совсем другие, и тут Geforce GTX 680 нас изрядно удивила. Если в сравнении GTX 580 и HD 6970 разница была небольшой, то в более свежей паре GTX 680 и HD 7970 решение Nvidia явно быстрее, причём почти в полтора раза. Если этот тест и измеряет скорость именно математических вычислений, то эффективность в нём зависит от других характеристик.

Новая модель компании Nvidia обогнала предшествующую ей Geforce GTX 580 на 76%, что хоть и ниже теоретической разницы в пиковой математической производительности, но всё равно довольно много. В целом, результат новинки выглядит отлично, если учесть значительный отрыв от лучшей платы конкурентов. Ещё интереснее будут тесты производительности в задачах тесселяции, к которым мы и переходим.

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.

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

Второй подтест со сложными пиксельными расчётами в очередной раз показал, что эффективность выполнения сложных математических вычислений у чипов архитектуры GCN гораздо выше, чем у остальных участников сравнения. Топовая плата семейства HD 7000 показала лучший результат в тесте parallax mapping, обогнав представленную сегодня GTX 680 более чем на 40%. Падение производительности при включении POM на платах Nvidia явно сильнее. Первый чип Kepler выполняет задачу лишь на 27% быстрее, чем лучший из Fermi, что говорит о сниженной эффективности вычислений.

Ну и в самом интересном подтесте мы удивились, увидев равный результат у Geforce GTX 680 и Radeon HD 7970. Да, в этом тесте тесселяции разбиение треугольников умеренное, и поэтому платы компании AMD теряют не слишком много производительности, и их запаса скорости хватает, чтобы показать схожий результат с анонсированной сегодня одночиповой видеокартой от Nvidia. Нас больше интересует разница в скорости между GTX 580 и GTX 680. Она получилась равной 42%, что явно выше разницы в частотах, на которых работают геометрические блоки. И это — ещё одно подтверждение того, что подтест не полностью упирается в скорость обработки геометрии.

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

Мы вернули в тесты результаты с максимальным уровнем тесселяции (tessellation factor = 19), «откатив» версию примера из DirectX SDK к более старой версии февраля 2010 года (о причинах читайте в предыдущей статье раздела). В этом примере мы видим уже более правдоподобное сравнение геометрической мощи различных решений. Все современные чипы вполне неплохо справляются даже с серьёзной геометрической нагрузкой, но графические процессоры Nvidia остаются непревзойдёнными по этому показателю.

Все их чипы архитектур Fermi и Kepler весьма хороши в таких задачах, но наш сегодняшний герой материала превзошёл всех. У своей предшественницы он выигрывает до двух раз, хотя чисто теоретически разница должна быть меньше — видимо, всё-таки провели какие-то оптимизации. И хотя чипы архитектуры GCN в тесселяции заметно ускорились, но это позволило догнать лишь GTX 580, да и то не в любых условиях. Ну а GTX 680 так и снова вырвался далеко вперёд. Поэтому можно быть уверенными, что и в псевдоигровых тестах с применением тесселяции, таких как 3DMark 11 и Heaven, новая плата Nvidia покажет сильные результаты.

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

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

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

Так что сравнивать в этом тесте платы Nvidia и AMD очень просто — первые быстрее просто в разы! Поэтому обратим внимание на пару Geforce GTX 680 и GTX 580. Разница между ними получилась снова весьма большой, что может указывать как на улучшенную геометрическую производительность, так и на увеличение чисто математической мощи. Ведь, как мы написали выше, нагрузка в тесте является не чисто синтетической и не грузит только геометрические блоки, но и весь чип в целом. И раз Kepler быстрее в целом, то и в этой задаче GTX 680 получилась быстрее предшествующей топовой модели, причём на 30-50%.

Подведём итог тестов тесселяции. В условиях очень тяжёлой геометрической нагрузки новый чип GK104 показывает себя исключительно с хорошей стороны. Хотя количество геометрических блоков с GF110 не увеличилось, но увеличенная тактовая частота GPU и большая математическая мощь позволили чипу нового семейства показать ещё более сильные результаты. И хотя AMD в семействе GCN очень сильно подтянули геометрическую производительность и в реальных применениях, где нет сверхвысоких степеней разбиения треугольников, практически не уступают решениям Nvidia, то в синтетических мы определили явного победителя, и это — новая плата Geforce GTX 680.

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

По результатам проведённых нами синтетических тестов новой модели видеокарты из серии Geforce GTX 600, основанной на графическом процессоре GK104, ставшем первым GPU с архитектурой Kepler, а также результатам других моделей видеокарт производства обоих производителей дискретных видеочипов, мы делаем вывод о том, что новое топовое решение Nvidia должно стать быстрейшим графическим решением на рынке. Потому что самые важные технические характеристики в GTX 680 были серьёзно улучшены и это было подтверждено синтетикой.

Графический процессор GK104 выполнен с применением самого совершенного (у TSMC на данный момент) 28 нм техпроцесса, и является первенцем новой архитектуры Kepler, которая хоть и основана на удачных решениях Fermi, но очень сильно модифицирована. Чип новой архитектуры имеет массу улучшений, направленных на увеличение энергоэффективности, ускорение выполнения математических расчётов, обработки геометрических данных и текстурирования. И наш набор синтетических тестов показал, что производительность решения в почти во всех задачах значительно возросла. Geforce GTX 680 почти всегда значительно опережал предыдущую топовую модель компании, а разница между ними иногда была даже двукратной.

К сожалению, не обошлось и без некоторых шероховатостей. Во-первых, в некоторых тестах сложных пиксельных шейдеров, вроде Parallax Occlusion Mapping и Fur, эффективность Kepler ожидаемо снизилась по сравнению с Fermi. И топовое решение конкурента, имеющее большее количество регистров в вычислительных устройствах, имеют в таких тестах явное преимущество, ведь в тяжёлых шейдерах производительность сильно зависит от объёма регистровой памяти, да и общего количества потоковых процессоров.

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

Ещё одним спорным моментом для модели Geforce GTX 680 является не слишком высокая пропускная способность видеопамяти. Хотя в Nvidia сделали всё, чтобы подтянуть её хотя бы до уровня GTX 580, этого часто будет недостаточно, как показали некоторые из синтетических тестов. То же самое касается и производительности ROP (скорости заполнения), которая даже ниже, чем у GTX 580. И можно предположить, что в некоторых играх эти два ограничения не позволят новой плате показать всё, на что способна архитектура Kepler. Кстати, это же касается и объёма видеопамяти в 2 ГБ, ведь у конкурента её в полтора раза больше. И пусть в 95-99% случаев вполне хватит и 2 ГБ, обязательно найдутся игры и условия, в которых этого объёма будет мало. Да и чисто психологический фактор стоит учитывать.

В целом же, благодаря проведённым в Kepler архитектурным изменениям, Nvidia явно улучшила основные характеристики своего быстрейшего на данный момент решения. Новый чип GK104 отличается высочайшей производительностью, но при этом потребляет энергии заметно меньше предыдущего топового чипа GF110. То есть, с основной своей задачей по повышению энергетической эффективности в Nvidia справились на отлично! И видеокарта Geforce GTX 680 по рекомендуемой цене станет неплохим приобретением для энтузиастов, так как должна стать наиболее производительным DirectX 11 решением на рынке.

Предполагаем, что сильные результаты видеоплаты Geforce GTX 680 в большинстве синтетических тестов будут подкреплены отличными показателями и в игровых приложениях из нашего тестового набора. Новая модель просто обязана показать столь же высокую скорость в играх по сравнению с соперниками и предшественниками, как она уже сделала это в синтетических тестах этого раздела.

Nvidia Geforce GTX 680 — Часть 3: производительность в игровых тестах →

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

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

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




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

Обзор нового видеоускорителя Nvidia Geforce GTX 680. Часть 2 — Особенности видеокарты, результаты синтетических тестов

Nvidia Geforce GTX 680:

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

Содержание

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

Плата

Nvidia Geforce GTX 680 2048 МБ 256-битной GDDR5 PCI-E
  • GPU: Geforce GTX 680 (GK104)
  • Интерфейс: PCI Express x16
  • Частота работы GPU (ROPs): 1000-1100 МГц (номинал — 1000-1100 МГц)
  • Частота работы памяти (физическая (эффективная)): 1500 (6000) МГц (номинал — 1500 (6000) МГц)
  • Ширина шины обмена с памятью: 256 бит
  • Число вычислительных блоков в GPU/частота работы блоков: 8/1000-1100 МГц (номинал — 8/1000-1100 МГц)
  • Число операций (ALU) в блоке: 192
  • Суммарное число операций (ALU): 1536
  • Число блоков текстурирования: 128 (BLF/TLF/ANIS)
  • Число блоков растеризации (ROP): 32
  • Размеры: 255×100×33 мм (последняя величина — максимальная толщина видеокарты)
  • Цвет текстолита: черный
  • Энергопотребление (пиковое в 3D/в режиме 2D/в режиме «сна»): 197-212/79/65 Вт
  • Выходные гнезда: 2×DVI (Dual-Link/VGA), 1×HDMI 1.4a, 1×DisplayPort 1.2
  • Поддержка многопроцессорной работы: SLI (Hardware)

Nvidia Geforce GTX 680 2048 МБ 256-битной GDDR5 PCI-E
Карта имеет 2048 МБ памяти GDDR5 SDRAM, размещенной в 8 микросхемах на лицевой сторонe PCB.

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

Сравнение с эталонным дизайном HD 6970, вид спереди
Nvidia Geforce GTX 680 2048 МБ 256-битной GDDR5 PCI-E Reference card Nvidia Geforce GTX 580

Сравнение с эталонным дизайном HD 6970, вид сзади
Nvidia Geforce GTX 680 2048 МБ 256-битной GDDR5 PCI-E Reference card Nvidia Geforce GTX 580

Совсем недавно, при рассмотрении Radeon HD 7970 мы говорили, что сравнивать карты с совершенной разной шириной шины обмена с памятью — очень тяжело, но традиционно мы должны покивать в сторону предыдущего поколения и сказать: как же все изменилось! :) Вот только разница в том, что если в случае с 7970 мы писали: «из-за того, что много лет продукты топового класса имели шину в 256 бит, теперь их даже тяжело сравнивать с новыми. Хорошо видно, что число микросхем памяти возросло с 8 до 12 (каждая микросхема обеспечивает 32-битный доступ, умножить на 12 — и получим общую шину в 384 бита)» . А теперь должны писать с точностью до наоборот: предыдущий топовый продукт Geforce GTX 580 имел шину в 384-бит, а теперь уже наблюдаем 256-бит у 680.

Связано это с тем, что изначально GK104 планировался как «середнячок», как наследник Geforce GTX 560 Ti, ну и конкурент соответствующим решениям AMD в ценовой нише ниже 300 долларов США. Поэтому ядро получило соответствующий контроллер памяти, расчитанный на 256 битную шину. Странно, конечно, считать, что если сделать вычислительную мощь чипа в 2-3 раза сильнее, чем у предыдущего топового решения, а также увеличить количество TMU/ROP на 40%, то как бы, увеличивать ПСП особо и не надо. В результате чего выяснилось, что GK104 по производительности способен конкурировать даже с топовым Radeon HD 7970. Однако дело сделано: чип не переделать, шину не увеличить. Поэтому пришлось искать самую быструю GDDR5, что только есть, чтобы ПСП хотя бы оказалась такой же, как у GTX 580. Как мы понимаем, все равно это удавка на производительности ядра. Наши тесты дальше это прекрасно покажут.

Учитывая более простой дизайн PCB, чем у GTX 580, нет особого резона делать карту длинной, поэтому размеры оказались чуть меньше, чем мы привыкли видеть у топовых ускорителей.

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

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

Напомним также, что продукты Nvidia прошлых поколений, обладающие аппартной поддержкой SLI, имеют возможность вывода картинки игры одновременно на несколько мониторов (при условии одновременно работающих двух или более карт в режиме SLI). Так вот, теперь уже одиночная карта GTX 680 способна выводить картинку одновременно на ЧЕТЫРЕ монитора! При этом возможна работа и в стерео-режиме - это весьма важное новшество.

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

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

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

Карта требует дополнительного питания, причем двумя 6-контактными разъемами. Обратите особое внимание на расположение этих гнезд. Раньше всегда два гнезда питания соседствовали на PCB, будучи припаянными раздельно на карте. Теперь же установлен специальный блок, в котором разъемы питания размещены один над другим на манер этажерки. Мы помним такой вариант размещения гнезд (замками друг ко другу) у карт типа 9800 GX2 (двухпроцессорных ускорителей, имевщих не одну, а две PCB, и каждая имела свое гнездо питания). Это очень неудобно - так как приходится протискивать палец в середину этого блока для нажатия на замки разъемов питания. Очень непонятно, почему отказались от традиционной схемы размещения, ведь на фото отчетливо видно, что PCB имеет распайку под еще одно гнездо питания стандартного размера.

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

Nvidia Geforce GTX 680 2048 МБ 256-битной GDDR5 PCI-E
Система охлаждения внешне не претерпела особых изменений после GTX 580, да и незачем, ведь ядро греется меньше, карта потребляет также меньше, сама PCB не сложна.

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

Однако же в данном устройстве используется более современный и бесшумный вентилятор, который даже при работе на 2500 оборотах в минуту малошумен. А концепция ускорителя в целом предусматривает поддержание температуры ядра в пределах 80 градусов (плюс-минус), поэтому ради этого вентилятор может работать и на высоких оборотах, что мы могли наблюдать в ходе многочасовых прогонов под сильной нагрузкой, и тогда уже шум был ощутим.

Мы провели исследование температурного режима с помощью новой бета-версии утилиты MSI Afterburner (автор А. Николайчук AKA Unwinder) и получили следующие результаты. Хочу напомнить, что GTX 680 по ядру работает на плавающих частотах от 1000 до 1100 МГц. Что делает разгон весьма проблематичным, поскольку диапазоны частот работы на номинальном и разогнанном режимах могут пересекаться. Мы получили стабильную работу карты на диапазоне частот 1129-1229 МГц. При этом выбор частоты работы в каждый конкретный момент остается за драйвером, поэтому иногда в тот же самый момент при работе в штатном режиме частота может быть 1100 МГц, а при работе в режиме оверклокинга - 1129 МГц, и как следствие, прироста производительности может почти не быть. Поэтому не следует ожидать примерно одинаковых процентов приростов скорости при разгоне.

Вернемся к мониторингу.

Nvidia Geforce GTX 680 2048 МБ 256-битной GDDR5 PCI-E
Nvidia Geforce GTX 680 2048 МБ 256-битной GDDR5 PCI-E - при разгоне

Как мы видим, после 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/300.99

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-графики).

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

  • Geforce GTX 680 со стандартными параметрами (далее GTX 680)
  • Geforce GTX 590 со стандартными параметрами (далее GTX 590)
  • Geforce GTX 580 со стандартными параметрами (далее GTX 580)
  • Radeon HD 7970 со стандартными параметрами (далее HD 7970)
  • Radeon HD 7870 со стандартными параметрами (далее HD 7870)
  • Radeon HD 6970 со стандартными параметрами (далее HD 6970)

Для сравнения результатов анонсированной видеокарты Geforce GTX 680 именно эти модели были выбраны по следующим причинам. Geforce GTX 580 является старшей одночиповой моделью предыдущего поколения и прямым предшественником новинки, который она заменяет на рынке, а GTX 590 до сих пор остаётся быстрейшей видеокартой на двух видеочипах производства Nvidia.

Выбранные решения от конкурирующей компании AMD были взяты нами для тестов потому, что Radeon HD 7970 имеет близкую к анонсированной видеокарте Geforce цену (на момент написания статьи — даже выше), и является её прямым конкурентом на данный момент. Radeon HD 6970 взята как топовая предыдущая модель от конкурента, которая поможет оценить приросты от смены поколений у AMD и Nvidia. Ну а модель HD 7870 используется в нескольких тестах просто для того, чтобы посмотреть, насколько сильно придётся урезать GK104, чтобы создать конкурента для этой видеокарты.

Direct3D 9: тесты Pixel Shaders

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

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

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

Судя по предыдущим свежим сравнениям, производительность новых видеокарт в этих тестах ограничена чаще всего именно филлрейтом, хотя и влияние скорости текстурных модулей тоже прослеживается. Но оно неявное, так как Geforce GTX 680 не стал единоличным победителем, как мог бы, исходя из текстурной производительности. Отрывы от GTX 580 не позволяют выделить единственную характеристику, влияющую на скорость.

Топовая видеоплата компании AMD в этих тестах стала явным победителем, хотя разница несколько сократилась, по сравнению с тем, что было в предыдущих поколениях. В любом случае, HD 7870 вовсю конкурирует с GTX 680. Чего, по идее, быть не должно. Смущает и крайне небольшой прирост от SLI у двухчипового GTX 590. Возможно, здесь наблюдается разница в программных оптимизациях в драйверах.

За исключением пары тестов, GTX 680 выступает вполне на уровне GTX 590, что не может не радовать. А вот по сравнению с конкурирующей моделью Radeon HD 7970, новинка компании Nvidia явно уступает ей. Посмотрим на результаты более сложных пиксельных программ промежуточных версий:

А вот тут — совсем другое дело! Тест Cook-Torrance более интенсивен вычислительно, разница в нём примерно соответствует разнице в количестве ALU и их частоте, но и от скорости TMU она также зависит. Поэтому данный тест лучше подходит графическим решениям компании AMD, а теперь и Geforce GTX 680.

Именно эти модели завоевали лидерство в данных тестах, в одном из них (где важнее быстрая математика) чуть быстрее Radeon, в другом (где важна текстурная производительность) — Geforce немного впереди. Всё ровно так, как и должно быть по теории. Кроме того, новая модель GTX 680 в обоих тестах опережает двухчиповый GTX 590 и заметно впереди GTX 580.

Во втором, больше зависящем от скорости текстурирования, тесте процедурной визуализации воды «Water» используется зависимая выборка из текстур больших уровней вложенности, и поэтому видеокарты в нём располагаются по скорости текстурирования. И в этом «текстурном» тесте разница между GTX 680 и GTX 580 получилась чуть ли не трёхкратной!

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

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

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

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

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

Производительность свежих видеокарт AMD в тесте «Frozen Glass» значительно выше, чем у новинки, ведь даже Radeon HD 6970 оказалась впереди. Возможно, скорость GTX 680 упирается в филлрейт, но скорее всего, чипы Nvidia просто неэффективно выполняют эту задачу. Ну а в сравнении с предшественниками, GTX 680 почти догнала двухчиповый GTX 590, правда преимущество над GTX 580 не такое уж и большое и не соответствует росту ни одного из пиковых показателей.

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

Для плат с GPU производства Nvidia положение стало заметно лучше, и Geforce GTX 680 отстаёт от Radeon HD 7970 уже гораздо меньше и уже смогла обогнать HD 7870. И всё же скорость Geforce упирается во что-то, так как разница между новыми моделями и старыми должна быть больше. Хотя жаловаться грех, ведь в этот раз первый из Kepler обогнал быстрейшую видеоплату на двух чипах Fermi! Но всё же, современные чипы AMD в этих задачах эффективнее и догнать их не удалось. Видеокарта Geforce в тесте Parallax Mapping отстаёт лишь немного, но во втором отставание больше.

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

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

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

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

Наш сегодняшний герой также показал очень неплохие результаты, хотя в одном из тестов серьёзно уступил более эффективному в тяжёлых задачах Radeon HD 7970 и конкурирует лишь с младшим Radeon из новой серии. Зато в «Fur» он показывает результат на уровне двухчиповой GTX 590 и почти как у HD 7970. Это более чем в полтора раза лучше, чем у предшествующей одночиповой модели. Большей разницы между ними не получилось из-за снижения эффективности выполнения сложных задач — упрощение SM явно сказалось на Kepler в подобных задачах.

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, но также влияет и эффективность выполнения сложных программ. В варианте без суперсэмплинга дополнительное влияние на производительность оказывает ещё и эффективный филлрейт и пропускная способность памяти (в меньшей степени). Результаты при детализации уровня «High» получаются до полутора раза ниже, чем при «Low».

Как и в аналогичных DX9 тестах, в задачах процедурной визуализации меха с большим количеством текстурных выборок, решения Nvidia раньше были заметно сильнее, но за пару поколений GPU компания AMD не только сократила разницу, но с выпуском GCN и вовсе вырвалась вперёд. И теперь мы часто видим Radeon HD 7970 в лидерах таких сравнений, что отлично говорит о высокой эффективности выполнения сложных пиксельных программ.

Рассматриваемая сегодня Geforce GTX 680 показала средний результат между GTX 580 и GTX 590, что может указывать на снизившуюся эффективность исполнения сложных шейдеров в Kepler. Разница между GTX 580 и GTX 680 не впечатляет — лишь 14-17%! Впрочем, возможно тут виноват сниженный филлрейт или пропускная способность памяти.

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

Действительно, GTX 680 явно улучшила результат относительно решений предыдущей линейки, и теперь она показывает скорость на уровне двухчиповой GTX 590. Но при включении суперсэмплинга, увеличивающего теоретическую нагрузку вчетверо, в целом результаты решений Nvidia значительно ухудшились, по сравнению с показателями видеокарт от AMD. И разница в эффективности выполнения данной задачи между ними стала просто огромной.

Протестированная новинка от Nvidia проигрывают чуть ли не вдвое проигрывает своему конкуренту от компании AMD. А топовая плата из серии HD 7000 в этом тесте показывает просто отличный уровень производительности, что явно говорит о «любви» к сложным вычислениям. Подумать только, а ведь раньше это было преимущество архитектур Nvidia! Теперь их внимание (по крайней мере, для игровых видеокарт) явно сместилось в сторону быстрой геометрической обработки, в отличие от чипов AMD, предпочитающих попиксельные вычисления.

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

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

Диаграмма в целом очень похожа на предыдущую без включения SSAA, и решения Nvidia в этом тесте не смогли улучшить своё положение. Новая плата Geforce GTX 680 в обновленном D3D10-варианте теста без суперсэмплинга всё так же между GTX 580 и GTX 590, она не способна конкурировать с Radeon HD 7970. Посмотрим, что изменит включение суперсэмплинга, ведь он обычно вызывает сильное падение скорости на платах Nvidia.

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

В этот раз Geforce GTX 680 немного отстаёт от GTX 590 на базе двух GF110, а опережение GTX 580 не такое уж большое. Понятно, что Radeon HD 7970 снова далеко впереди, она даже в режиме большей детализации показывает почти ту же скорость, что GTX 680 в простом режиме! В очередной раз подтверждаем снижение эффективности Kepler относительно Fermi в таких задачах.

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

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

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

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

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

И действительно, результаты видеокарт расположились на диаграмме примерно соответственно теории, но с некоторыми исключениями. Geforce GTX 680 в этом тесте ведёт себя просто выше всяких похвал! Отставание новой модели Nvidia от лучшего решения конкурента — менее 3%! Когда это такое было видано? Причём, в этом тесте уже у Radeon эффективность ниже, чем у первого решения на Kepler. Исходя из теории (см. табличку в первой части статьи), разница между решениями должна быть значительно больше, но GTX 680 тут эффективнее работает и почти догоняет Radeon HD 7970.

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

К сожалению, в этот раз относительный результат новинки от Nvidia оказался ниже, и она уступила Radeon HD 7970 ровно столько, сколько должна по теории — около 22%. И она теперь ближе к HD 6970, чем к HD 7970. В остальном, цифры поменялись, но позиции карт остались неизменными. Строгого соответствия теоретическим цифрам пиковой производительности нет и в этот раз, но результаты всех решений к ним ближе, чем в предыдущем тесте.

Так что диаграмма полностью соответствует теории. Скорость рендеринга в данном тесте ограничена исключительно производительностью шейдерных блоков и их эффективностью, поэтому платы Radeon показывают сильные результаты, самая современная из них стала лидером сравнения. Но Geforce GTX 680 уступает ей не так сильно, как это было ранее, в предыдущих поколениях, когда разница была чуть ли не в разы.

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

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

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

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

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

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

Во-первых, сразу же видна разница между Nvidia и AMD. Если в пиксель-шейдерных тестах платы AMD явно были эффективнее и быстрее, то первый же тест геометрии показал, что в этих задачах равных платам калифорнийцев нет. И первый из Kepler лишь укрепил позиции, Geforce GTX 680 почти догнала двухчиповую GTX 590 в этом тесте, с запасом обойдя предшествующую одночиповую плату.

Во-вторых, что касается сравнения новинки с конкурентом, то тут последнему просто нечего ловить — разница полуторакратная. И Radeon HD 7970 может конкурировать ну разве что с GTX 580. Посмотрим, как изменится ситуация при переносе части вычислений в геометрический шейдер:

При изменении нагрузки в этом тесте цифры почти не изменились для старых решений Nvidia и лишь немного улучшились для новых плат AMD и... GTX 680. Все видеокарты в данном тесте слабо реагируют на изменение параметра GS load, отвечающего за перенос части вычислений в геометрический шейдер, поэтому и все выводы остаются прежними. Но теперь GTX 680 показала ровно такую же скорость, что и GTX 590. Ну а Radeon HD 7970 всё так же в полтора раза отстала. Смотрим, что изменится в следующем тесте, который предполагает большую нагрузку именно на геометрические шейдеры.

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

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

Относительные результаты в разных режимах также примерно соответствуют изменению нагрузки: во всех случаях производительность неплохо масштабируется и близка к теоретическим параметрам, по которым каждый следующий уровень «Polygon count» должен быть чуть менее чем в два раза медленней.

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

Да и по сравнению с конкурентом в этом тесте ситуация не такая радужная, как была на предыдущих диаграммах. Но всё же, новая плата на GK104 стала лучшей в сравнении (с учётом проблем у GTX 590), обогнав все остальные решения. Цифры должны измениться на следующей диаграмме, в тесте с более активным использованием геометрических шейдеров. Также будет интересно сравнить друг с другом результаты, полученные в режимах «Balanced» и «Heavy».

В этот раз диаграмма с переносом вычислений в геометрический шейдер меняется значительно серьёзнее. Все видеокарты Nvidia в этом сравнении явно быстрее всех плат AMD, но именно новинка на базе Kepler стала лучшей. Скорее всего, этот тест упирается именно в производительность геометрических блоков, и поэтому решения от Nvidia так сильны.

Все платы Geforce явно имеют преимущество перед чипами AMD с традиционным графическим конвейером, и GTX 680 ещё больше его укрепила. Она даже в тяжелом режиме показывает результат, как Radeon HD 7970 в среднем из них. Между GTX 580 и GTX 680 разница обусловлена преимуществом в тактовой частоте чипа GK104, на которой работают геометрические блоки.

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

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

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

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

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

Вот и в этот раз разве что Radeon HD 7970 вырвалась далеко вперёд, чем отличилась от остального набора видеокарт, включая и предшественницу HD 6970. Остальные решения выступили примерно одинаково, особенно это касается трёх плат от Nvidia, разницу между которыми можно увидеть лишь в лёгком режиме. Новая плата семейства GTX 600 смогла соперничать с HD 7970 только в лёгком режиме, а в остальных сильно отстала, и подозреваем, что так получилось из-за низкого филлрейта и/или ПСП. Посмотрим на производительность в этом же тесте с увеличенным количеством текстурных выборок:

Взаимное расположение карт на диаграмме изменилось в основном за счёт того, что платы Nvidia обеспечили высокую скорость рендеринга в тяжёлых режимах, в отличие от решений AMD, которые немного сдали. И теперь результаты GTX 680 очень близки к скорости Radeon HD 7970, только в лёгком режиме выиграла плата Nvidia, а в тяжёлом — AMD. Про сравнение GTX 680 и GTX 590 можно сказать ровно то же самое. Скорее всего, скорость в тесте ограничена или филлрейтом или ПСП.

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

А вот результаты во втором тесте вершинного текстурирования «Waves» совсем не похожи не то, что мы видели на предыдущих диаграммах. В этом тесте видеокарты AMD и Nvidia выстроились по линии. Почти все, кроме выпавшей из тренда Radeon HD 7970. Она и стала лучшей в сравнении (кроме самого лёгкого режима), выступив явно сильнее представленной сегодня платы Geforce GTX 680.

Все протестированные решения Nvidia снова упёрлись непонятно во что, показав чуть ли не идентичные результаты. Возможно, в этом тесте нет упора производительности в ПСП и текстурирование, а HD 7970 выигрывает из-за лучшей эффективности блоков ROP. Рассмотрим второй вариант этого же теста:

И в этот раз произошли изменения, аналогичные тем, что мы видели ранее — некоторые видеокарты немного ухудшили свои результаты, причём, в лёгких режимах пострадали платы Nvidia, а в тяжёлых — AMD. Это позволило платам Geforce немного приблизиться к результатам Radeon HD 7970. И всё же, топовая плата AMD осталась лидером, а представленная новинка архитектуры Kepler ей проиграла. Тесты вершинного текстурирования как были очень странными и малопонятными, так и остались. Похоже, пришло время попрощаться и с ними.

3DMark Vantage: тесты Feature

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

Feature Test 1: Texture Fill

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

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

Конечно, если сравнивать с предыдущими видеокартами Nvidia, тут огромное улучшение просто налицо. И всё же, новинка обогнала GTX 580 на 125%, хотя по теории должно быть 160%. То есть, GTX 680 по каким-то причинам не смогла раскрыться полностью в данном тесте. И скорее всего, вина лежит на сравнительно низкой ПСП. В любом случае, результат GTX 680 очень неплохой, она почти сравнялась с Radeon HD 7970, а это говорит о том, что один из недостатков предыдущих поколений устранён. Ранние видеокарты Nvidia в этом тесте были весьма слабы из-за малого количества TMU, а теперь всё стало намного лучше.

Feature Test 2: Color Fill

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

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

Новая модель Geforce GTX 680 неплохо справилась с работой, показав результат на одном уровне с Radeon HD 7970, имеющей теоретический филлрейт чуть хуже, но значительно более высокую пропускную способность памяти, и уступила только двухчиповой GTX 590. Интересно, что GTX 580 не помогла ни высокая ПСП, ни даже большее количество блоков ROP. Так что в Kepler явно видны улучшения в эффективности работы этих блоков, о которых мы писали в первой части статьи!

Feature Test 3: Parallax Occlusion Mapping

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

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

Интересно, что в синтетике из 3DMark Vantage новая плата Geforce показала примерно такой же результат, относительно других плат, что и в наших аналогичных тестах. Она немного не дотянула до скорости двухчиповой GTX 590, оказавшись быстрее предшественницы почти наполовину. Что явно маловато, если учитывать рост скорости текстурирования и математических вычислений. Похоже, что снова сказываются упрощения в вычислительных блоках Kepler, и его эффективность в таких задачах оказывается ниже, чем у Fermi и GCN.

Поэтому, по сравнению с платой AMD на базе новейшей архитектуры GCN новинке Nvidia в тесте похвастать особо нечем — она проиграла ей столько, сколько выиграла у GTX 580. В подобных сложных вычислительных задачах платы серии Radeon всё же эффективнее справляются с задачей, хотя и скорость первой из Kepler относительно старых решений компании весьма неплоха.

Feature Test 4: GPU Cloth

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

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

Да, топовая модель конкурента — Radeon HD 7970 — также усилила позиции компании, но так как это один из тех тестов, в которых видно преимущество решений Nvidia, имеющих по несколько геометрических блоков, то даже она не смогла дотянуться даже до Geforce GTX 580. Правда, представленная сегодня новинка на базе чипа GK104 не слишком то сильно опередила решение на одном GF110 — разница между ними составила лишь 6%. Вероятнее всего, вина в такой маленькой разнице лежит на ПСП, которая у GTX 680 нисколько не повысилась, относительно GTX 580. Или дело в скорости заполнения, которая даже снизилась.

Feature Test 5: GPU Particles

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

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

Результаты второго аналогичного теста из пакета 3DMark Vantage были бы похожи на те, что мы видели на предыдущей диаграмме, если бы не серьёзное падение относительной скорости Geforce GTX 680, которое нас весьма удивило. К сожалению, это один из немногих тестов, где новинка на базе первого чипа с архитектурой Kepler уступает последнему представителю архитектуры Fermi. И вот тут почти точно виновато меньшее количество блоков ROP и меньший филлрейт, так как отставание от GTX 580 ровно такое же, как и отставание по пиковому теоретическому показателю.

Но если сравнивать Geforce GTX 680 с главным конкурентом, то тут не всё так плохо — процентов 20% новинка у него выигрывает. Итак, в синтетических тестах имитации тканей и частиц из тестового пакета 3DMark Vantage, в которых активно используются геометрические шейдеры, для конкурентной борьбы Nvidia и AMD мало что изменилось — хотя новому решению Nvidia мешают низкие показатели ПСП и филлрейта, оно всё же остаётся впереди Radeon HD 7970.

Feature Test 6: Perlin Noise

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

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

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

А удивила нас сравнительно низкая эффективность Geforce GTX 680 в этом тесте. По идее, новинка должна быть вдвое быстрее GTX 580 и значительно быстрее GTX 590, но реальная разница в данном тесте получилась меньше. По какой-то причине даже в сравнительно «тупом» тесте Geforce GTX 680 не смогла подкрепить теорию, приблизившись к сопернику на 23%, как должно быть, в реальности отстав более чем на 40%. В этом тесте низкая ПСП не должна сказываться, поэтому все подозрения падают на всё ту же сниженную эффективность при выполнении шейдерных программ.

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

Чтобы протестировать новое решение компании Nvidia в задачах, использующих такие новые возможности DirectX 11, как тесселяция и вычислительные шейдеры, мы воспользовались примерами из пакетов для разработчиков (SDK) и демонстрационными программами компаний Microsoft, Nvidia и AMD.

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

Да, это не самый удачный пример для вычислительных шейдеров, но всё же разницу в производительности в одной из конкретных задач он показывает. Интересно, что если разница в скорости расчётов в вычислительном и пиксельном шейдерах для видеокарт Nvidia на базе Fermi была, то в Kepler её почти нет. Более того, GTX 680 чуть быстрее в вычислительном шейдере, ровно как и плата AMD.

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

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

А вот результаты в этом тесте совсем другие, и тут Geforce GTX 680 нас изрядно удивила. Если в сравнении GTX 580 и HD 6970 разница была небольшой, то в более свежей паре GTX 680 и HD 7970 решение Nvidia явно быстрее, причём почти в полтора раза. Если этот тест и измеряет скорость именно математических вычислений, то эффективность в нём зависит от других характеристик.

Новая модель компании Nvidia обогнала предшествующую ей Geforce GTX 580 на 76%, что хоть и ниже теоретической разницы в пиковой математической производительности, но всё равно довольно много. В целом, результат новинки выглядит отлично, если учесть значительный отрыв от лучшей платы конкурентов. Ещё интереснее будут тесты производительности в задачах тесселяции, к которым мы и переходим.

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.

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

Второй подтест со сложными пиксельными расчётами в очередной раз показал, что эффективность выполнения сложных математических вычислений у чипов архитектуры GCN гораздо выше, чем у остальных участников сравнения. Топовая плата семейства HD 7000 показала лучший результат в тесте parallax mapping, обогнав представленную сегодня GTX 680 более чем на 40%. Падение производительности при включении POM на платах Nvidia явно сильнее. Первый чип Kepler выполняет задачу лишь на 27% быстрее, чем лучший из Fermi, что говорит о сниженной эффективности вычислений.

Ну и в самом интересном подтесте мы удивились, увидев равный результат у Geforce GTX 680 и Radeon HD 7970. Да, в этом тесте тесселяции разбиение треугольников умеренное, и поэтому платы компании AMD теряют не слишком много производительности, и их запаса скорости хватает, чтобы показать схожий результат с анонсированной сегодня одночиповой видеокартой от Nvidia. Нас больше интересует разница в скорости между GTX 580 и GTX 680. Она получилась равной 42%, что явно выше разницы в частотах, на которых работают геометрические блоки. И это — ещё одно подтверждение того, что подтест не полностью упирается в скорость обработки геометрии.

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

Мы вернули в тесты результаты с максимальным уровнем тесселяции (tessellation factor = 19), «откатив» версию примера из DirectX SDK к более старой версии февраля 2010 года (о причинах читайте в предыдущей статье раздела). В этом примере мы видим уже более правдоподобное сравнение геометрической мощи различных решений. Все современные чипы вполне неплохо справляются даже с серьёзной геометрической нагрузкой, но графические процессоры Nvidia остаются непревзойдёнными по этому показателю.

Все их чипы архитектур Fermi и Kepler весьма хороши в таких задачах, но наш сегодняшний герой материала превзошёл всех. У своей предшественницы он выигрывает до двух раз, хотя чисто теоретически разница должна быть меньше — видимо, всё-таки провели какие-то оптимизации. И хотя чипы архитектуры GCN в тесселяции заметно ускорились, но это позволило догнать лишь GTX 580, да и то не в любых условиях. Ну а GTX 680 так и снова вырвался далеко вперёд. Поэтому можно быть уверенными, что и в псевдоигровых тестах с применением тесселяции, таких как 3DMark 11 и Heaven, новая плата Nvidia покажет сильные результаты.

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

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

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

Так что сравнивать в этом тесте платы Nvidia и AMD очень просто — первые быстрее просто в разы! Поэтому обратим внимание на пару Geforce GTX 680 и GTX 580. Разница между ними получилась снова весьма большой, что может указывать как на улучшенную геометрическую производительность, так и на увеличение чисто математической мощи. Ведь, как мы написали выше, нагрузка в тесте является не чисто синтетической и не грузит только геометрические блоки, но и весь чип в целом. И раз Kepler быстрее в целом, то и в этой задаче GTX 680 получилась быстрее предшествующей топовой модели, причём на 30-50%.

Подведём итог тестов тесселяции. В условиях очень тяжёлой геометрической нагрузки новый чип GK104 показывает себя исключительно с хорошей стороны. Хотя количество геометрических блоков с GF110 не увеличилось, но увеличенная тактовая частота GPU и большая математическая мощь позволили чипу нового семейства показать ещё более сильные результаты. И хотя AMD в семействе GCN очень сильно подтянули геометрическую производительность и в реальных применениях, где нет сверхвысоких степеней разбиения треугольников, практически не уступают решениям Nvidia, то в синтетических мы определили явного победителя, и это — новая плата Geforce GTX 680.

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

По результатам проведённых нами синтетических тестов новой модели видеокарты из серии Geforce GTX 600, основанной на графическом процессоре GK104, ставшем первым GPU с архитектурой Kepler, а также результатам других моделей видеокарт производства обоих производителей дискретных видеочипов, мы делаем вывод о том, что новое топовое решение Nvidia должно стать быстрейшим графическим решением на рынке. Потому что самые важные технические характеристики в GTX 680 были серьёзно улучшены и это было подтверждено синтетикой.

Графический процессор GK104 выполнен с применением самого совершенного (у TSMC на данный момент) 28 нм техпроцесса, и является первенцем новой архитектуры Kepler, которая хоть и основана на удачных решениях Fermi, но очень сильно модифицирована. Чип новой архитектуры имеет массу улучшений, направленных на увеличение энергоэффективности, ускорение выполнения математических расчётов, обработки геометрических данных и текстурирования. И наш набор синтетических тестов показал, что производительность решения в почти во всех задачах значительно возросла. Geforce GTX 680 почти всегда значительно опережал предыдущую топовую модель компании, а разница между ними иногда была даже двукратной.

К сожалению, не обошлось и без некоторых шероховатостей. Во-первых, в некоторых тестах сложных пиксельных шейдеров, вроде Parallax Occlusion Mapping и Fur, эффективность Kepler ожидаемо снизилась по сравнению с Fermi. И топовое решение конкурента, имеющее большее количество регистров в вычислительных устройствах, имеют в таких тестах явное преимущество, ведь в тяжёлых шейдерах производительность сильно зависит от объёма регистровой памяти, да и общего количества потоковых процессоров.

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

Ещё одним спорным моментом для модели Geforce GTX 680 является не слишком высокая пропускная способность видеопамяти. Хотя в Nvidia сделали всё, чтобы подтянуть её хотя бы до уровня GTX 580, этого часто будет недостаточно, как показали некоторые из синтетических тестов. То же самое касается и производительности ROP (скорости заполнения), которая даже ниже, чем у GTX 580. И можно предположить, что в некоторых играх эти два ограничения не позволят новой плате показать всё, на что способна архитектура Kepler. Кстати, это же касается и объёма видеопамяти в 2 ГБ, ведь у конкурента её в полтора раза больше. И пусть в 95-99% случаев вполне хватит и 2 ГБ, обязательно найдутся игры и условия, в которых этого объёма будет мало. Да и чисто психологический фактор стоит учитывать.

В целом же, благодаря проведённым в Kepler архитектурным изменениям, Nvidia явно улучшила основные характеристики своего быстрейшего на данный момент решения. Новый чип GK104 отличается высочайшей производительностью, но при этом потребляет энергии заметно меньше предыдущего топового чипа GF110. То есть, с основной своей задачей по повышению энергетической эффективности в Nvidia справились на отлично! И видеокарта Geforce GTX 680 по рекомендуемой цене станет неплохим приобретением для энтузиастов, так как должна стать наиболее производительным DirectX 11 решением на рынке.

Предполагаем, что сильные результаты видеоплаты Geforce GTX 680 в большинстве синтетических тестов будут подкреплены отличными показателями и в игровых приложениях из нашего тестового набора. Новая модель просто обязана показать столь же высокую скорость в играх по сравнению с соперниками и предшественниками, как она уже сделала это в синтетических тестах этого раздела.

Nvidia Geforce GTX 680 — Часть 3: производительность в игровых тестах →

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

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

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