Сегодня 25 декабря 2024
18+
MWC 2018 2018 Computex IFA 2018
реклама
Видеокарты

Radeon HD2900XT – неоправдавшиеся надежды и фундаментальные инновации

⇣ Содержание

Тестовый стенд

Конфигурация «железа» тестового стенда не изменилась. Поскольку для тестирования видеокарт ряд тестов требует наличия DirectX 10, в дополнение к Windows XP мы также будем использовать Windows Vista 64 Ultimate.

Тестовый стенд
Шина
PCI-Express
CPU
MB
Memory
OS
WinXP + SP2 + DirectX 9.0c; Windows Vista 64 Ultimate + DirectX 10
PSU
Thermaltake ToughPower 750 Wt
Тестирование проводилось с помощью драйверов ForceWare 158.22 и Catalyst ver. 8.37.4.

Синтетические тесты в DirectX 10

DX10 Shader Tests

Этот набор тестов демонстрирует производительность шейдерных блоков GPU при выполнении элементарных операций. Данный тест был разработан инженерами компании AMD. И хотя может возникнуть некая предубежденность типа «на их собственных тестах результаты их видеокарты конечно будут выше», исходные коды открыты, так что любой может ознакомиться с особенностями данного теста и поискать «фирменные» закладки, если они есть. Скачать полную версию теста с исходниками можно отсюда. Результаты приводятся следующим образом – сначала идет название теста, потом краткое описание от разработчика, затем диаграмма и наши комментарии. Итак, приступим. Тест №1. "float MAD serial" - Зависимые скалярные инструкции
Комментарий разработчика:
Тест выдает пакет скалярных инструкций «сложение-умножение», которые выполняются последовательно. Это наихудший случай для суперскалярной архитектуры, поскольку из имеющихся 5 вычислительных блоков HD2900XT может использоваться только один. Код, выполняемый в этом тесте, можно условно выразить следующим образом:
x = x * x + x
x = x * x + x
. . .
 dx10_shader_test1.gif
Видеокарта 8800GTS демонстрирует в этом тесте невероятную производительность при исполнении пиксельных шейдеров, однако результат вертексных шейдеров оказывается в разы ниже. Результаты нового GPU от AMD занимают золотую середину и практически идентичны как для пиксельных, так и для вертексных шейдеров. Тест №2. "float4 MAD parallel" – Векторные инструкции
Комментарий разработчика:
Тест выдает две последовательности инструкций «сложение-умножение» над четырехмерными векторами (float4). «Умный» компилятор в драйвере способен разбить 4D-векторы на составные инструкции, чтобы заполнить все 5 вычислительных слотов. Это пример одного из наилучших вариантов использования суперскалярной архитектуры и довольно характерен для цепочек инструкций, которые можно видеть во многих шейдерах. Этот пример также демонстрирует гибкость архитектуры, которая может обрабатывать не только тривиальные случаи типа 3+2 или 4+1. Код, выполняемый в этом тесте, можно условно выразить следующим образом:
xyzw1 = xyzw1 * xyzw1 + xyzw1
xyzw2 = xyzw2 * xyzw2 + xyzw2
xyzw1 = xyzw1 * xyzw1 + xyzw1
. . .
 dx10_shader_test2.gif
В этом тесте с завидным преимуществом лидирует HD2900XT. Что интересно, в этот раз небольшая разница в скорости исполнения пиксельных и вертексных шейдеров присутствует и у HD2900XT, но у 8800GTS эта разница достигает практически двукратного размера. Тест №3. "float SQRT serial" – Специальная функция
Комментарий разработчика:
Этот тест использует 5-й специальный вычислительный слот, который наряду со стандартными операциями «сложение-умножение» и т.д. способен выполнять трансцендентные операции. Код, выполняемый в этом тесте, использует операцию извлечения квадратного корня:
x = sqrt(x)
x = sqrt(x)
. . .
 dx10_shader_test3.gif
По всей видимости, преимущество HD2900XT в этом тесте обусловлено наличием того самого специального блока, который оказывается вовсе не «пятым колесом», а эффективным средством выполнения трансцендентных операций. Тест №4. "float 5-instruction issue" - Независимые скалярные инструкции
Комментарий разработчика:
Этот тест использует 5 типов скалярных инструкций (умножение, сложение, минимум, максимум, извлечение квадратного корня), каждая из которых использует свой операнд, а все вместе они скомпонованы в одну супер-скалярную инструкцию. Это представляет типичный случай объединения инструкций компилятором драйвера с максимальной эффективностью.
 dx10_shader_test4.gif
Комментарии излишни. Подавляющее преимущество Radeon HD2900XT. Тест №5. "int MAD serial" – зависимые DX10 скалярные инструкции
Комментарий разработчика:
Тест аналогичен тесту №1, но вместо инструкций с плавающей точкой используются целочисленные.
 dx10_shader_test5.gif
Тест №6. "int4 MAD parallel" – DX10 целочисленные векторные инструкции
Комментарий разработчика:
Тест аналогичен тесту №2, но вместо инструкций с плавающей точкой используются целочисленные.
 dx10_shader_test6.gif
Итоговая диаграмма тестов DX10 Shader tests
 dx10-shader-test.gif
Для полноты картины мы свели результаты всех тестов в одну диаграмму. Видно, что из всех тестов 8800GTS оказывается впереди только при выполнении пиксельного шейдера с последовательными инструкциями типа «float MAD». Но на этой диаграмме можно отметить куда более интересный момент. Смотрите, в каждом тесте HD2900XT эффективно выполняет как пиксельные, так и вертексные шейдеры, причем с очень близкой производительностью. Что это означает? Это говорит о том, что мы имеем дело с действительно унифицированной шейдерной архитектурой, которая с равной эффективностью выполняет шейдер любого типа, будь он пиксельный или вертексный.

N-Patches

Помимо эффективного выполнения пиксельных и вертексных шейдеров, архитектура Radeon HD2900XT способна весьма эффективно работать с «геометрией» объекта. Встроенный в GPU блок аппаратной тесселяции позволяет «на лету» преобразовывать грубую угловатую малополигональную модель во вполне приличный «гладкий» объект. Давайте посмотрим, как это получается. В данном тесте вычислительная задача для GPU состоит в рендеринге большого количества человечков, представляющих собой довольно грубые модели. На скриншоте ниже показано, как это выглядит в действительности.
 npatch-0-full.gif
Модели действительно «угловаты» и примитивны. Чтобы было понятнее, почему так получается, приведем скриншот в режиме wire-frame.
 npatch-0-wireframe.gif
Что будет, если применить к таким объектам метод тесселяции? С повышением уровня количество полигонов в объекте возрастает как квадрат от значения уровня тесселяции. Но одного увеличения количества полигонов в объекте мало. Допустим, у нас был исходный треугольник, и мы разбили его на несколько меньших, все они окажутся по-прежнему в одной плоскости, и «угловатость» никуда не исчезнет, если не сделать следующий шаг. Далее, надо сместить вершины новых полигонов так, чтобы объект приобрел более сглаженную форму. Есть разные способы таких преобразований, например по методу Безье, кубическими сплайнами, с помощью N-Patches и т.д. Сейчас мы рассмотрим метод N-Patches. Опуская промежуточные шаги, сразу приведем скриншот с уровнем тесселяции «8», который максимально возможен для этого теста (аппаратно GPU HD2900XT поддерживает уровень тесселяции вплоть до 15).
 npatch-8-wireframe.gif
Смотрите, как преобразились модели! Вместо несуразных угловатых кубиков мы получили очень приличные сглаженные фигурки.
 npatch-8-full.gif
А вот так это выглядит в привычном нам виде. Прелесть данной технологии в том, что разработчики могут оперировать довольно простыми моделями, экономя время и ресурсы, а видеопроцессор с блоком аппаратной тесселяции «на лету» преобразует объекты в красивую картинку. Если раньше это было как в детском стишке - «палка, палка, огуречик, вот и вышел человечек», то с помощью Radeon HD2900XT при том же «алгоритме» без труда получаем Памелу Андерсен.
 n-patches-test.gif
На этой диаграмме показано изменение производительности, измеряемое в FPS, при увеличении уровня тесселяции. Как видите, при отсутствии тесселяции видеокарта 8800GTS прекрасно справляется с этим несложным заданием и заметно опережает HD2900XT, однако даже самый минимальный уровень тесселяции кардинально меняет расстановку сил. Производительность 8800GTS драматически падает, в то время как производительность HD2900XT падает всего лишь на 25%. Оно и понятно, у него же имеется блок аппаратной тесселяции. Дальнейшее повышение уровня тесселяции приводит к плавному снижению FPS у Radeon HD2900XT, но даже в самом «тяжелом» случае значение FPS не опускается ниже 200. Прекрасный результат. Все, что мы пока видели, это тесты, предоставленные компанией AMD. Неудивительно, что видеокарта HD2900XT в них выглядит весьма впечатляюще. Теперь давайте попробуем испытать видеокарты в тестах, которые не являются порождением какого-либо производителя видеокарт.
Следующая страница → ← Предыдущая страница
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.

window-new
Soft
Hard
Тренды 🔥
В Epic Games Store стартовала новая раздача Control — для тех, кто дважды не успел забрать в 2021 году 11 мин.
За 2024 год в Steam вышло на 30 % больше игр, чем за прошлый — это новый рекорд 2 ч.
«Яндекс» закрыл почти все международные стартапы в сфере ИИ 2 ч.
Создатели Escape from Tarkov приступили к тестированию временного решения проблем с подключением у игроков из России — некоторым уже помогло 3 ч.
Веб-поиск ChatGPT оказался беззащитен перед манипуляциями и обманом 4 ч.
Инвесторы готовы потратить $60 млрд на развитие ИИ в Юго-Восточной Азии, но местным стартапам достанутся крохи от общего пирога 4 ч.
Selectel объявил о спецпредложении на бесплатный перенос IT-инфраструктуры в облачные сервисы 5 ч.
Мошенники придумали, как обманывать нечистых на руку пользователей YouTube 6 ч.
На Открытой конференции ИСП РАН 2024 обсудили безопасность российского ПО и технологий искусственного интеллекта 6 ч.
Российские торговые площадки назвали самые продаваемые игры в преддверии новогодних праздников 6 ч.