[an error occurred while processing this directive]
Обзор ATI RADEON X800 XT и X800 PRO (R420)[an error occurred while processing this directive]СОДЕРЖАНИЕ
Итак, настал месяц май, позади поездка в Канаду (Торонто), где мы впервые познакомились с новинкой от ATI (тогда еще под кодовым названием R420). Для желающих узнать об ATI Technology Days более подробно, даем ссылки на первый и второй дни работы форума. А сегодня мы уже сбросим завесу таинственности с новых продуктов и рассмотрим более детально. Почему во множественном числе? - Просто на базе R420 выпускается в свет не одна карта, а несколько. На сегодня их две: RADEON X800 XT и X800 PRO. Более подробно - далее. Недавно выходил наш материал по NVIDIA GeForce 6800 Ultra, и в анонсе этого материала высказывалось предположение: надолго ли NV40 стал королем в 3D? Не сместит ли его R420 в самой мощной своей ипостаси? Давайте сегодня познакомимся с новинкой от ATI и заодно попытаемся ответить на этот вопрос.
Официальные спецификации Radeon X800
Спецификации карт, ныне выпущенных на базе R420:
Общая схема чипа
Пытливый читатель сразу отметит, что схема практически совпадает с NV40. Ничего удивительного - обе фирмы, стараются создать оптимальное решение, и уже несколько поколений исповедуют проверенную и эффективную организацию общей структуры графического конвейера. Существенные отличия кроются внутри блоков и в первую очередь в пиксельных и вершинных процессорах. Как и у NV40, в наличии шесть вершинных процессоров, и четыре независимых пиксельных процессора, каждый из которых работает с одним квадом (фрагментом 2х2 пикселя). Скорее всего, в отличие от NV40, присутствует только один уровень кэширования данных текстур. В наличии 4 независимых процессора квадов, каждый из которых может быть отключен - таким образом, в зависимости от потребностей рынка и наличия бракованных чипов можно отключать один, два или даже три процессора, производя, таким образом карты, обрабатывающие 4, 8, 12 или 16 пикселей за такт. Не исключено, что в будущем, энтузиасты будут так или иначе исследовать вопрос обратной «активации» отключенных при производстве (и возможно бракованных) квадов, мы же пока оставим его в стороне. А теперь, по традиции увеличим степень детализации в самых интересных местах:
Вершинные процессоры и выборка данных
Приведем блок схему вершинного процессора R420:
Собственно сам процессор на схеме обозначен желтым прямоугольником, остальные окружающие его блоки показаны для более полной картины. Заявлено, что R420 содержит 6 независимых процессоров (мысленно скопируем желтый блок 6 раз). Есть информация, что вершинные процессоры R420 поддерживают динамическое управление исполнением - т.е. переходы и циклы на основе принятых во время выполнения шейдера решений, однако она требует проверки. Как бы там ни было - пока эта возможность не доступна в API. Но, несомненно, если она есть, она будет использованы в OpenGL и там ничего не мешает задействовать ее полностью. В DX9, скорее всего, она так и не появятся. Вершинные блоки не соответствуют ни полной спецификации VS 3.0 (отсутствует возможность доступа к текстурам) ни расширенной спецификации 2.0 в понимании NVIDIA (т.н. 2.0.а). Что касается арифметической производительности - то за один такт вершинный процессор R420 может выполнить одну векторную операцию (до 4-х компонент FP32) и одну скалярную FP32 операцию одновременно, так же как и вершинный процессор NV40. Напомним, как выглядит сводная табличка параметров вершинных процессоров современных ускорителей с точки зрения вершинных шейдеров DX9
Еще один интересный аспект, который мы исследуем далее - производительность эмуляции FFP (T&L). Напомним, что R3XX во многом проигрывал чипам NVIDIA из-за отсутствия специальных аппаратных блоков расчета освещения, ускорявших эмуляцию T&L вот уже в трех поколениях чипов NVIDIA. Будем надеяться, что разработчики ATI проанализировали число приложений до сих пор полностью или частично использующих T&L, сделали выводы и исправили ситуацию, так или иначе.
Пиксельные процессоры и организация закраски
Рассмотрим пиксельную архитектуру R420 в порядке следования данных. Итак, после установки параметров треугольника нас ждет:
Остановимся на самых интересных фактах. Во-первых, если ранее в R3XX было максимум два процессора квадов, обрабатывающих за такт блок из четырех пикселов (2х2) то теперь таких процессоров стало четыре. Они полностью независимы и каждый из них может исключаться из работы (например, для создания облегченной версии чипа с тремя процессорами при наличии брака в одном из них). Отметим, что во многом схема похожа на NV40, но есть и кардинальные отличия, на которых мы остановимся подробнее. Итак, вначале треугольник разбивается на блоки первого уровня (8х8 или 4х4 в зависимости от разрешения рендеринга) и происходит первая ступень отбрасывания невидимых блоков, на основе данных полностью размещенного на чипе мини Z буфера. Его объем не афишируется, но, судя по всему, в R420 он занимает несколько менее 200 килобайт. Всего на этой стадии может быть откинуто до 4 блоков за такт, т.е. до 256 невидимых пикселей. Затем происходит вторая ступень разбиения - на сей раз, на квады размером 2х2 и происходит раннее отсечение полностью невидимых квадов, на основе хранимого в видео памяти Z буфера второго уровня, с гранулярностью покрытия 2х2. Отметим, что в зависимости от режима MSAA один элемент этого буфера может соответствовать 4 (нет), 8(MSAA 2х), 16 (MSAA 4х) или даже 24 (6х MSAA) точкам в буфере кадра, вот почему его выделение в отдельную структуру, занимающую промежуточный уровень между мини буфером глубины полностью расположенном на чипе и окончательным буфером глубины базового уровня. Таким образом в продуктах NVIDIA мы имеем дело с двухуровневой организацией HSR и буфера глубины, а в продуктах ATI с трехуровневой. Далее, в синтетических тестах, мы обратим внимание на влияние этого фактора на производительность. Затем происходит установка квадов, и их распределение по активным пиксельным процессорам. А далее и начинаются самые существенные отличия R420 от NV40: Алгоритм работы пиксельного процессора NVIDIA:
Цикл по командам шейдера
Алгоритм работы пиксельного процессора ATI
Цикл по 4 фазам
Итак, NVIDIA постепенно исполняет команды (а точнее суперскалярные пачки команд, включая команды выборки текстур), прогоняя через каждую команду все квады находящиеся в обработке. ATI же разбивает шейдер на четыре фазы (вот откуда ограничение на глубину зависимых выборок не более 4), в каждой из которых сначала осуществляется выборка всех данных текстур необходимых для этой фазы, а затем уже все вычисления над полученными данными. В том числе, и вычисление новых координат, для выборки текстур в следующей фазе. Какой подход лучше? Сказать однозначно не возможно. Подход ATI хуже приспособлен к сложным шейдерам с управлением потоком команд или многочисленными зависимыми выборками. С другой стороны вычисления внутри каждой из четырех фаз происходят по похожей на CPU схеме - выполняются все команды, команда за командой, для одного квада, затем берется следующий квад и т.д. Таким образом, во время вычислений можно использовать полноценный пул из временных регистров, без какой либо потери производительности и пенальти за использование более 4 регистров, которое мы имеем в NV40. Кроме того, подход ATI требует менее длинных по числу стадий конвейеров. Следовательно, расходуется меньше транзисторов и потенциально достигаются более высокие тактовые частоты (или, что одно и тоже более высокий выход годных чипов на фиксированной частоте). Хорошо предсказуема производительность того или иного шейдера, легко написать код (не надо заботиться равномерной группировке текстурных и вычислительных команд или расходе временных регистров). Из недостатков - многочисленные ограничения. Ограничение на число зависимых выборок, ограничение на число команд в одной фазе, необходимость хранить весь микрокод шейдера для 4 фаз «под рукой», т.е. прямо в пиксельном процессоре. Потенциальные задержки в случае интенсивных зависимых выборок текстур следующих друг за другом (скрадываются наличием набора одновременно обрабатываемых квадов, но их число не столь велико как у NVIDIA). Фактически подход ATI оптимален для реализации шейдеров 2.0, без динамического контроля исполнения и достаточно ограниченной длинной. Любые попытки «привинтить» к подобной архитектуре пиксельного процессора неограниченную длину шейдеров и тем более неограниченную гибкость в текстурных выборках столкнется с проблемами. На схеме пиксельного процессора обозначена логика F-буфера - механизма для записи и восстановления параметров временных переменных шейдера. Это ухищрение позволяет исполнять шейдеры превышающие по длине или числу зависимых (да и обычных тоже) выборок текстур ограничения пиксельного процессора, но, ценою дополнительных проходов, что само по себе не является бесплатным решением и далеко от идеала. По мере роста сложности шейдера число проходов и сохраняемых временно в видеопамяти данных будет возрастать, а вместе с ними будет возрастать и штраф по сравнению с NVIDIA подобными архитектурами, не ограниченными длинной или сложностью шейдера. Что ж, реальные игровые приложения покажут, чей подход более оправдывает себя. А также выход годных и энергопотребление - не забываем, что гибкость шейдеров NV40 дается ценой в 220 миллионов транзисторов - это число рискует попасть за порог стабильного оправданного по себестоимости производства при технологии 0.13, и многое будет зависеть от того, как пойдет производство и борьба за выход годных. Впрочем, вернемся к особенностям архитектуры пиксельных процессоров R420. Формат данных в процессорах при вычислениях - FP24, но в TMU, при выборке текстур, операции с текстурными координатами проводятся с больше точностью. В этом плане, все как и в случае R3XX. На каждый пиксель приходится по два ALU, причем каждое из них может выполнить две различные(!) операции по схеме 3+1 (как и в R3XX, но там ALU было одно). Подробнее об этом вопросе см. DX Current. Не поддерживается произвольное маскирование и перестановка компонент после операции, все только в рамках шейдеров 2.0 и чуть более длинных 2.0.b . Таким образом, в зависимости от кода шейдера, может быть выполнено от одной до 4х различных FP24 операций за такт, над векторами (размерность до 3) и скалярами и осуществлен один доступ к уже (!) выбранным из текстуры в данной фазе данным. Производительность такой связки напрямую зависит от компилятора и кода, но очевидно, что мы имеем
Что в пиковом варианте превышает возможности NV40. Но, не забываем, что реально это решение менее гибко (всегда схема 3+1) с точки зрения совмещения команд в суперскалярные пачки при компиляции. Реальную эффективность покажут тесты. По сравнению с R3XX вычислительная эффективность новых конвейеров выросла вдвое. Вкупе с двукратным увеличением их числа и приростом тактовой частоты, мы получаем солидный теоретический задел по сравнению с предыдущим поколением. Все новые усовершенствования, такие как увеличенная длинна шейдеров и новые регистры будут доступны в новой версии шейдеров 2.0.b с выходом нового SDK и новой версии DirectX 9 (9.0c). А теперь - сводная таблица возможностей:
Отметим, что гибкость и возможности программирования пиксельных процессоров NV40 в DX9 пока находятся вне конкуренции. А теперь вернемся к нашей схеме и обратим внимание на ее нижнюю часть. Там расположены блоки, отвечающие за сравнение и модификацию значений цвета, прозрачности, глубины и буфера шаблонов, а также MSAA. В отличие от NV40, поддерживающей генерацию до 4х MSAA отсчетов на основе одного пикселя, R420 генерирует до 6. Причем, производительность расчета Z и буфера шаблонов, как и у NV40 удвоена относительно базовой скорости закраски - 32 значения в такт. Соответственно, 2х MSAA дается без пенальти по скорости, а 4х и 6х занимают 2 и 3 такта. Впрочем, в случае использования пиксельных шейдеров длинной хотя бы в несколько команд, это пенальти перестает быть заметно и не играет особой роли. Более важна пропускная способность памяти. Разумеется, в MSAA режимах сжимаются как данные о цвете, так и о глубине, в оптимальном случае, коэффицент сжатия приближается к числу MSAA сэмплов, т.е. в режиме MSAA 6х достигает 6:1 В отличие от NV40, использующей RGMS (повернутую сетку отсчетов), R420, как и все чипы семейства R3XX, поддерживает псевдостохастические паттерны MSAA, на базовой сетке 8х8. В итоге, качество сглаживания краев и наклонных линий объективно выше, особенно если учесть наличие 6х режима (8х NVIDIA не сравним по производительности, т.к. он является гибридом - SSAA на основе двух блоков MSAA 4х). В новых драйверах доступен т.е. Temporal AA - временной АА. Суть его в простом изменении паттернов от кадра к кадру - таким образом, если картинка соседних кадров будет без проблем (слишком заметного мерцания) усредняться нашим глазом (или интертным ЖК монитором), мы получим некое улучшение качества сглаживания, словно мы использовали больше отчетов MSAA. Производительность при этом не падает, но и эффект может проявляться по разному, в зависимости от монитора и частоты расчета кадров в приложении.
Технологические новшестваДва основных новшества R420 по сравнению с R3XX (увеличение числа временных регистров и длинны шейдера в пиксельном процессоре мы причисляем к эволюционному развитию, а не революционным новшествам):
Платы
Очевидно, что дизайн R420 очень похож на своего предшественника - R360. Только из-за того, что используется GDDR3 память, несколько изменена разводка. Судя по всему, по контактам R420 полностью совместим с R360. Обратим также внимание на то, что разъем для внешнего питания по-прежнему один, да и карты «кушают» сильно меньше, чем NV40. Отметим, что у нас пока лишь опытные образцы, поэтому мы не знаем, такими же одинаковыми пойдут в серию X800 XT и PRO, или все же финальные карты будут чем-то отличаться.
А что же с системой охлаждения сделали? Как ее изменили?
Итак, мы увидели, что по внешнему виду X800 практически не отличается от предшественника, унаследовав и все положительные черты, как то меньшая
требовательность к мощности, однослотовая система охладения.
Также интересно заметить, что семейство Х800 сразу же оснащено поддержкой VIVO при помощи старого доброго RAGE THEATER, когда как на 9800ХТ
мы могли видеть распайку под новый Theater 200, но карт с ним так нам и не встретилось. Только лишь ASUS делал 9800ХТ с VIVO.
Давайте посмотрим теперь на сам чип. Вначале сравним размеры кристаллов у R360, R420 и NV40:
Прекрасно видно, что размеры кристалла у R420 выросли по сравнению с R360, несмотря на более тонкий техпроцесс. Все же 180 млн. транзисторов против 115 млн. - играют большую роль. И все же, самый огромный по площади кристалл - это NV40 с его 222 млн. транзисторами.
Далее сам чип вместе с корпусом:
Изготовлены кристаллы примерно в конце марта-начале апреля, то есть совсем «свежие» :-). Заметим, что никаких видимых отличий, как и по маркировке так и по расположению резисторов на подошве между чипами не видно. Поэтому снова напрашивается мысль, что урезание по конвейерам сделано программным путем через драйвера. Мы это будем еще проверять. Но если это окажется верным, то слова ведущего сотрудника ATI, сказанные им в интервью в офисе ATI о том, что больше программных урезок не будет, как-то странно сочетаются с практикой.
Теперь по разгону. Благодаря оперативности автора RivaTuner Алексея Николайчука, эта утилита уже умеет определять частоты у R420.
И вот что мы видим у X800 XT:
К сожалению, карта практически не разгоняется, изменение частот даже на малые интервалы приводит к их сбросу драйвером.
А вот частоты X800 PRO:
Разгон здесь возможен, и составил 540 МГц по чипу и 580 (1180) МГц по памяти. Ради проверки работы карты на частоте X800 XT мы зафиксировали частоты разгона 525/575 (1150) МГц и протестировали X800 PRO на них. Установка и драйверыКонфигурации тестовых стендов:
VSync отключен, технология S3TC ОТКЛЮЧЕНА в приложениях.
Рассматривать бету-версию драйверов для этих карт нет смысла, ибо в ней все настройки те же самые, что и в обычном CATALYST 4.4.
А вот способ включения так называемого Temporal AA имеется, пока только лишь через registry:
Обратите внимание на переменную TemporalAAMultipler! Именно она и отвечает на включение такого АА. Значения 0 и 1 - это Temporal AA выключен, 2 и 3 - включен. Последние значения между собой отличаются лишь частотой смены паттернов (3 - самая высокая). Переменная TemporalAAFrameThreshold выставляет минимальный FPS, при котором начинает работать Temporal AA, при значении 0 - он работает всегда. Например, если задать этой переменной значение 60, то при скорости в игре ниже 60 fps Temporal AA работать не будет. Поскольку сам принцип работы этой функции основан на восприятии глазом и особенности работы люминофора (или LCD матрицы), то заснять на скриншотах работу Temporal AA невозможно. Могу лишь сказать, что при сильном отклонении FPS от частоты развертки по краям близко расположенных объектов мы можем наблюдать небольшое подрагивание (мерцание). Я попробовал фотокамерой нечто подобное запечатлеть, вот что вышло (7 MB) (смотрите на край толстой балки, АА работает именно там, а на решетке его нет, поскольку она выполнена на полупрозрачной текстуре, с которыми, как известно, MSAA не работает).
Результаты тестовПеред тем, как кратко дать оценку качеству в 2D, я еще раз дам пояснение, что на настоящий момент НЕТ полноценной методики объективной оценки этого параметра по следующим причинам:
Что касается протестированных экземпляров, то совместно с Mitsubishi Diamond Pro 2070sb платы продемонстрировали отменное качество в следующих разрешениях и частотах:
Синтетические тесты D3D RightMarkИспользованная нами версия пакета синтетических тестов D3D RightMark Beta 4 (1050) и ее описание доступна на сайте http://3d.rightmark.org Еще раз отмечу, что все тесты в RightMark снимались на компьютере на базе Pentium4.
Параметры D3D вы можете посмотреть здесь:
D3D RightMark: NV40, NV38, R360, R420 Внимание! Замете, что в текущей версии DirectX в паре с текущими драйверами возможности пиксельных 2.0.b пока не доступны. Этот вопрос разрешится с выходом DirectX 9.0c и новой версии SDK, которая также скоро будет доступна. Все тесты включают в себя результаты из обзора NV40, поэтому мы прокомментируем только отличия и характер поведения R420 (Radeon X800 XT) и R420 с12 конвейерами (Radeon X800 PRO) . Итак: Тест Pixel FillingПиковая производительность выборки текстур (texelrate), режим FFP, для разного числа текстур накладываемых на один пиксель: Теоретический максимум R420 в этом тесте 8.4 гигатекселов в секунду. В действительности мы достигли 7.5 гигатекселов, что однозначно свидетельствует о наличии 16 текстурных модулей. В случае одной текстуры лидирует NVIDIA - выборка одной текстуры происходит у нее более эффективно из-за особенностей архитектуры пикслельного процессора - в случае R420 это не оптимальный вариант из-за накладных расходов или иных вопросов связанных с наличием только одной очень короткой фазы в этом тесте. На 2х и трех текстурах R420 он расправляет крылья и уделывает NV40. Более высокая тактовая частота ядра (шутка ли 125 МГц разницы умножить на 16 конвейеров) дает себя знать. Скачков между четными и нечетными числами (свойственных конфигурациям с двумя TMU на пиксель нет ни у одного участника теста А сейчас - скорость закраски буфера кадра (fillrate, pixelrate), режим FFP, для разного числа текстур накладываемых на один пиксель: Итак, NV40 побеждает R420 на одной текстуре или константной закраске и проигрывает во всех остальных режимах. Пиковая скорость работы с буфером кадра (0 текстур -закраска цветом и одна текстура) выше у NVIDIA. Выборка текстур, по мере увеличения их числа - лучше у ATI. Помогает более высокая тактовая частота ядра. Посмотрим, как скорость закраски зависит от версии шейдеров: та же картина что и в случае FFP, Опять та же расстановка сил, Итак, в пиковом случае отсутствия текстурирования или одной текстуры NV40 смотрится лучше, несмотря на более низкую тактовую частоту. Это говорит о хорошей работе с буфером кадра. Но, реальные задачи уже давно не ограничиваются одной текстурой. Отметим, что теперь использование разных версий шейдеров практически не влияет на скорость - странности NV3X канули в лету и теперь результаты вполне предсказуемы и линейны.
Итак, вырисовывается следующая картина предпочтений:
А теперь посмотрим, как текстурные модули справляются с кэшированием и билинейной фильтрацией реальных текстур различных размеров: Приведены данные для разных размеров текстур, одна и две текстуры на пиксель. Интересно, что ATI хронически не любит случай с одной текстурой. Даже если ее размер вполне значителен! Очень странное поведение. Видимо сказывается некая накладная задержка при переключении фаз и окончании исполнения шейдера? Или так проявляется латентность конвейера в текстурном модуле? Как бы там ни было, в случае двух текстур все встает на свои места. В этом тесте NVIDIA выглядит неплохо, особенно по мере роста размера текстуры. Даже более высокая тактовая частота ATI не дает R420 доминировать во всех случаях - выборка текстур всегда была сильной стороной NVIDIA. Однако и NV40 никоим образом не выигрывает у R420. Лучше >= чем <= :-) - таким образом, R420 победитель. Посмотрим, как изменится картина в случае трилинейной фильтрации: Вот это да! Здесь NV40 еще ближе подбирается к R420. Наличие мип уровней позволяет эффективно кэшировать данные текстур. И здесь двухуровневый кэш NV40 не прошел даром. В итоге, назвать результаты R420 выигрышными или проигрышными нельзя - на лицо паритет с шатким равновесием - с одной стороны лучше чувствует себя NVIDIA с другой ATI. Напоследок предельный случай восьми трилинейно фильтруемых текстур: Здесь все в соответствии с частотой и числом конвейеров. Лидер - ATI. А теперь посмотрим на зависимость производительности текстурных модулей от формата текстур: Больше размер: Интересная картина. NV40 более эффективно кэширует текстуры. Двухуровневый кэш рулит. R420 сравнимо эффективно работает с большими текстурами (все уперлось в память, а ПСП примерно равна), существенно лучше справляется с сжатыми текстурами. Почему ATI так выигрывает, даже у NV40, в случае больших размеров сжатых текстур? Ответ прост - в текстурном кэше NVIDIA хранятся уже распакованные текстуры, приведенные к формату 32 бита. В текстурном кэше ATI - все еще сжатые. С одной стороны эффективность выборки текстур NVIDIA будет выше - меньше простоев во время распаковки, меньше задержка, с другой стороны при большом размере текстур фактор занимаемого ими места может вывести ATI в лидеры - NV40 упрется в пропускную полосу памяти и даже 16 TMU его не спасут. Что собственно и происходит на втором графике. В реальных приложениях баланс может склониться как в ту, так и в иную сторону, в зависимости от шейдеров, числа и размера текстур и прочих параметров сцены. Итак, в общем и целом, можно констатировать два факта:
Тест Geometry Processing SpeedСамый простой шейдер – предельная пропускная способность по треугольникам: Итак, R420 лидер и его пиковая скорость прекрасно масштабируется вместе с частотой ядра. Почему результаты NV40 почти не превышают предыдущего поколения? Вопрос сложный. Судя по всему вершинные процессоры чипа просто не разворачиваются в полную силу на столь примитивной задаче. Проверим наше предположение далее, на более сложных задачах. А пока отметим, что характер зависимости скорости R420 от версии шейдера очень точно повторяет R3XX. А именно - зависимость отсутствует как класс :-) Более сложный шейдер – один простой точечный источник света: Ага! Свершилось, наконец-то ATI озаботилась эффективной эмуляцией T&L и реализовала ее. Теперь скорость не ниже, она выше, пусть и на немного. Те же 6 вершинных блоков на более низкой частоте у NV40 приводят к проигрышу, пусть и не очень значительному, но обидному. Усложняем задачу далее: Здесь NV40 FFP лидер, несмотря на частотное преимущество ATI. FFP отрывается от шейдеров и в случае R420 - мы вновь находим подтверждение нашей гипотезе о дополнительных аппаратных блоках, теперь и у ATI. Впрочем, у NVIDIA они эффективнее. Но общая картина складывается скорее в пользу ATI. А теперь самая сложная задача, три источника света, причем, для сравнения в вариантах без переходов, со статическим и динамическим управлением исполнением: FFP силен, а статические переходы заметно ударяют по чипам NVIDIA. Парадокс в том, что динамические переходы на чипах от NVIDIA выгоднее статических. В случае ATI все достаточно ровно, FFP практически равен шейдерам, и общая картина вновь в пользу R420.. Итак :
Тест Pixel ShadersПервая группа шейдеров – достаточно простых для исполнения в реальном времени, 1.1, 1.4 и 2.0: В общем и целом R420 лидер. Хотя, порой, NV40 наступает ему на пятки. И даже чуть обгоняет в случае шейдеров 1.4 - вот парадокс, детище ATI ноне уютнее всего чувствует себя на продуктах NVIDIA. Старые добрые пиксельные конвейеры R3XX качественно разогнаны и оптимизированы. А производительность шейдеров 1.1 просто потрясает - описанная выше организация пиксельного конвейера с фазами очень близка к исходным архитектурам шейдеров 1.1. Посмотрим, сможет ли спасти положение NV40 использование 16 битной точности плавающих чисел: Преимущество 16 битной точности для NV40 есть, в некоторых шейдерах больше, в некоторых меньше. Но оно не позволяет отыграть пальму первенства у R420. Частота и еще раз частота. А теперь посмотрим на действительно сложный, «кинематографичный» шейдер 2.a в силу небольшого числа зависимых выборок уложившийся в ограничения пиксельных конвейеров R420: Здесь NV40 чувствует себя увереннее - ее архитектура очень хорошо приспособлена к длинным и сложным шейдерам, но, все равно не выигрывает у R420, даже в случае использования 16 битной точности. А ведь есть где развернуться - много выборок текстур, множество временных переменных, сложный код. Вот почем разница 16 и 32 бит столь заметна. На последок, исследуем зависимость скорости от использования арифметических или табличных методов вычисления sin, pow и нормализации векторов, отдельно для всех чипов: Итак, R420 зависит от разных методов, еще меньше чем R3XX. Гордость ATI - предсказуемая и ровная архитектура для оптимального исполнения любых 2.0 шейдеров. Вычисления или таблицы - ATI показывает себя ровно и предсказуемо. Лидерство без лишних проблем и аномалий. Итого, по пиксельным шейдерам :
Тест HSRДля начала пиковая эффективность (без текстур и с текстурами) в зависимости от сложности геометрии:Заметно, что ATI лучше переносит средние и сложные сцены - сказывается наличие двух уровней уменьшенных Z буферов (кроме базового). У NVIDIA традиционно один дополнительный уровень, поэтому эффективность HSR в случае оптимального баланса сцены (средняя сложность) несколько ниже. Видно, что сам алгоритм HSR не поменялся - эффективность R350 и R420 практически эквивалентна - а значит и соотношение отбрасываемых за такт и закрашиваемых пикселей не изменилось. Зато абсолютные цифры существенно возросли: Но не до уровня NV40 на сценах с низкой и средней детализацией! Зато на большой детализации и высоком факторе перекрытия ATI отыгрывается. Простая без затей закраска, вкупе с HSR, на чипах NVIDIA очень эффективна. И это несмотря на наличие только одного дополнительного уровня иерархии. Вывод :
Тест Point Sprites.Спрайты давно перестали быть популярным новшеством и зачастую проигрывают треугольникам по скорости вывода. ATI лучше справляется с этой задачей, NV40 упирается в какую то странную планку, а R420 наоборот, прекрасно масштабируется и четкий лидер. Тест MSAAВ пиковом случае MSAA NVIDIA эффективнее. Падение на 4х ниже. Но, надо это признать, сглаживание NVIDIA несколько ниже качеством. Хорошо заметно, что 8х у NV40 является гибридной установкой с использованием SSAA - скорость падает ниже допустимого уровня. Зато 6х практически не отличается у R420 от 4х и это можно только приветствовать. Выводы по синтетическим тестам
Качество трилинейной фильтрации и анизотропии (High Quality) |
Очевидно, что используется все тот же алгоритм анизотропии, что и в R360 и в более ранних решениях, поэтому разницы в реализациях этой функции внутри семейства ATI мы не найдем. Теперь посмотрим на качество анизотропии в играх на примере Call of Duty. |
GeForce FX 5950 Ultra | GeForce 6800 Ultra | RADEON X800 XT/PRO | RADEON 9800XT |
---|---|---|---|
Трилинейная фильтрация | |||
Анизотропная фильтрация 16x | |||
- |
Да, теперь мы видим практически идентичные картинки по анизотропии на всех топовых картах. Качество AA (High Quality)Этот показатель мы исследуем на примере Unreal II. |
GeForce FX 5950 Ultra | GeForce 6800 Ultra | RADEON X800 XT/PRO | RADEON 9800XT |
---|---|---|---|
No AA | |||
AA 4x | |||
AA 8x/6x | |||
- |
Качество в целом на примере FarCry
|
GeForce FX 5950 Ultra | GeForce 6800 Ultra | RADEON X800 XT/PRO | RADEON 9800XT |
---|---|---|---|
Пример 1 | |||
Пример 2 | |||
Пример 3 | |||
Пример 4 | |||
Пример 5 | |||
Результаты тестов: сравнение производительностиПодчеркну, что все показания в игровых тестах снимались на компьютере на базе Athlon64. В качестве инструментария мы использовали:
Также, если кто хочет получить демки-бенчмарки, которыми мы пользуемся, то напишите на мой e-mail. Хочу обратить внимание на то, что в данном блоке тестов мы взяли как новые, так и старые игры, которые многие тестеры уже не используют. Цель такого выбора: показать, насколько в таких играх сегодня мощная видеокарта уже НЕ РЕШАЕТ ПОЧТИ ничего, а все упирается в центральный процессор. Это на заметку многим геймерам. Более расширенное тестирование на современных играх мы проведем в следующем материале.
Quake3 Arena
Самые легкие режимы без АА и анизотропии: легкий проигрыщ (уперлись в CPU) При включенном АА: аналогично При включенной анизотропии: то же самое Итоговый самый тяжелый режим с АА и анизотропией: почти на равных, только в 1024 проигрыш. Итак, в целом:
Разумеется, под эту игру (движок) у NVIDIA самые отлаженные (и давно) драйверы, поэтому результат вполне
предсказуем.
Serious Sam: The Second Encounter
Во всех режимах R420XT проиграл сопернику из NVIDIA. Ситуация примерно схожа той, что была выше. Итак, в целом:
Комментарий идентичен тому, что выше в предыдущем тесте.
Return to Castle Wolfenstein (Multiplayer)
Картина полностью повторяет то, что мы видели ранее. Code Creatures
Самые легкие режимы без АА и анизотропии: примерный паритет При включенном АА: флагман ATI немного выигрывает При включенной анизотропии: выигрыш больше Итоговый самый тяжелый режим с АА и анизотропией: победа над соперником Итак, в целом:
Чем современнее и «шейдернее» тест, тем у R420 шансов больше на победу.
Unreal Tournament 2003
Самые легкие режимы без АА и анизотропии: победа При включенном АА: аналогично При включенной анизотропии: блестящий результат Итоговый самый тяжелый режим с АА и анизотропией: перевес до 47% в 1600х1200! Итак, в целом:
Unreal II: The Awakening
Самые легкие режимы без АА и анизотропии: небольшое поражение (интересно, что ранее все RADEON-ы стабильно выигрывали в этом тесте); При включенном АА: аналогично При включенной анизотропии: а вот тут X800 XT получил превосходство Итоговый самый тяжелый режим с АА и анизотропией: засчет анизотропии в общем превосходство над соперником Итак, в целом:
RightMark 3D
Самые легкие режимы без АА и анизотропии: поражение При включенном АА: аналогично При включенной анизотропии: примерный паритет с победой в 1600х1200 Итоговый самый тяжелый режим с АА и анизотропией: победа Итак, в целом:
Заметим, как некогда являвшийся коньком у RADEON, этот тест стал уже демонстировать преимущества у продуктов NVIDIA по скорости. TR:AoD, Paris5_4 DEMO
Самые легкие режимы без АА и анизотропии: прекрасный результат и полная победа! При включенном АА: перевес на 89%! При включенной анизотропии: Также прекрасно! Итоговый самый тяжелый режим с АА и анизотропией: Бац! И противник умер! В 2 раза обскакать! Да... :-) Итак, в целом:
Как и писалось ранее, чем «шейдернее» и современнее тест, тем...
FarCry, demo01
Самые легкие режимы без АА и анизотропии: победа При включенном АА: аналогично! При включенной анизотропии: А здесь вообще 80% перевеса Итоговый самый тяжелый режим с АА и анизотропией: до 85% превосходства Итак, в целом:
Конечно, после выхода NV40 еще не было ни патчей к игре, поднимающих планку у последнего монстра от NVIDIA,
ни финальных драйверов, ситуация может поменяться, но сумеет ли она стать переломной? Посмотрим. Но резервы у NVIDIA еще есть и весьма
серьезные.
Call of Duty, ixbt04
Самые легкие режимы без АА и анизотропии: также победа! Несмотря на «OpenGL» :-) При включенном АА: аналогично При включенной анизотропии: то же самое! Итоговый самый тяжелый режим с АА и анизотропией: аналогично (только в 1600х1200 паритет получился) Итак, в целом:
HALO: Combat Evolved
Самые легкие режимы без АА и анизотропии: примерный паритет (уперлись в CPU) При включенном АА: не поддерживается игрой. При включенной анизотропии: неплохая победа! Итак, в целом:
Half-Life2 (beta): ixbt07 demo
При включенной анизотропии: почти паритет с небольшим перевесом в сторону R420XT Итоговый самый тяжелый режим с АА и анизотропией: победа! Итак, в целом:
Splinter Cell
Самые легкие режимы без АА и анизотропии: равенство соперников При включенном АА: не поддерживается игрой При включенной анизотропии: также примерный паритет Итак, в целом:
ВыводыМы провели большое исследование новинки R420 (в виде двух продуктов) в разных тестах, из которых добрая половина уже давно использующихся как нами, так и другими тестерами, а многие уже и изъяли эти игры из списков тестовых инструментов. Мы убедились, что в подобных играх и видеокарты предыдущих поколений, и самые новые «упираются» в возможности центрального процессора системы. Это следует взять на заметку геймерам, любящим игры прошлых лет, и покупающим современные ускорители. В следующем материале мы проведем большое тестирование уже только на современных играх и тестах. Однако, и в этом обзоре достаточно таковых, на основе которых можно сделать весьма объективные выводы о том, кто же стал королем в 3D или такового по-прежнему нет? Ведь в прошлом обзоре по NV40, когда венчали на царство нового кумира, заметили - «А надолго ли?». Давайте подведем итог.
Итак, если не учитывать поддержку NV40 третих шейдеров, то лидерство R420 XT видно отчетливо. (Мы лишь отметим, что ситуация может быть усложнена тем, что у серийных GeForce 6800 могут поменяться частоты в сторону увеличения, хотя наверняка такие карты будут дороже. А также уже появилась версия 61.11, где по заявлениям разработчиков, могут наблюдаться приросты по скорости от 5 до 20%.) И напомним, что пока нет середнячка - 6800-none-Ultra, и тут исход борьбы неясен. Плюс надо добавить то, что технология 3Dc, которая будет открытой и использоваться в DX9, может стать более востребованной вещью, чем шейдеры 3.0 Если к игровым исследованиям прибавить синтетические, то получается, что R420 лидер по чистой скорости, но проигрывает по гибкости. Однако на современных (да и на ближайших будущих) игровых приложениях эта меньшая гибкость никак скажется. Еще раз отметим энергопотребление R420, которое осталось на уровне предыдущего поколения, когда чип, по-сути, стал вдвое более мощным (и даже выше). Cудя по всему, процент выхода годных у R420 может быть выше, чем у NV40, что может сказаться на первенстве появления на прилавках магазинов R420 (несмотря на более поздний анонс) и на динамику снижения цен. Есть отрасль, где продукт NVIDIA (NV40) будет существенно более выгодным - это DCC. Поддержка 3.0 шейдеров и отличный OpenGL могут крайне положительно сказаться на продвижении Quadro 4000 (на базе NV40GL). У ATI в этом плане все намного скромнее и даже печальнее. Мы с нетерпением ждем появления младших моделей, основанных на новых технологиях NV40/R420. Это будет битва не на шутку... Более полные сравнительные характеристики видеокарт этого и других классов вы можете увидеть также в наших 3DGiТогах.
Благодарим сотрудников «ATI Technologies»
Николая Радовского и Александра Жаворонкова за помощь в организации поездки в Торонто, а также за предоставление на тестирование видеокарт. А также еще раз хочется еще раз выразить благодарность Ирине Крамцовой, Геннадию Ригеру, Роману Киричинскому за помощь, содействие, все что они для нас сделали! Спасибо Вам, ребята! А еще хочу сказать спасибо Андрею Кузину за постоянную моральную поддержку в Канаде! Андрей Воробьев (anvakams@ixbt.com)
Александр Медведев (unclesam@ixbt.com) Опубликовано 4 мая 2004 года |
[an error occurred while processing this directive] |
Комментарии? Поправки? Дополнения? anvakams@ixbt.com |