Введение
Появление Microsoft Windows Vista, DirectX 10 и унифицированной шейдерной архитектуры обсуждалось еще в момент появления DirectX 9.0, однако, публично о довольно существенном переходе для всей индустрии заговорили в конце 2004 года. Тогда и ATI Technologies и Nvidia заговорил о стратегии перевода своих графических процессоров на унифицированную архитектуру и, если последняя традиционно сохраняла информацию при себе, давая скупые комментарии, указывающие на переход "когда он действительно потребуется", то первая открыто говорила о постепенной миграции к унифицированной архитектуре шейдерных процессоров.
В действительности как ATI, так и Nvidia, переводили свои GPU на унифицированные шейдерные процессоры в некотором роде постепенно. Так, ATI внедрила в Radeon X1000 универсальный распределитель вычислительных ресурсов (названный ultra-threaded dispatch processor) для пиксельных процессоров, а Nvidia начала экспериментировать с разными тактовыми частотами для разных частей чипа во времена GeForce 7. Хотя компании Intel, S3 Graphics и Silicon Integrated Systems не делятся своими планами на будущее, известно, что текущее интегрированное графическое ядро Intel имеет унифицированные шейдерные процессоры, тогда как S3 и SiS готовят свои устройства с аналогичной архитектурой.
Таким образом, ни для кого из разработчиков GPU переход на унифицированную шейдерную архитектуру не стал неожиданностью, а был частью давно утверждённого плана; который, в случае с компанией ATI Technologies, был воплощён в графическом процессоре Xenos, который применяется в игровой консоли Microsoft Xbox 360.
Тем не менее, первой компанией, которая представила графический процессор с унифицированной архитектурой стала Nvidia, представив GeForce 8800 в начале ноября 2006 года. ATI, которая на сегодняшний день является графической группой Advanced Micro Devices, несмотря на наличие опыта создания чипа Xenos, отстала со своим чипом R600 более чем на полгода. Как и в случае с анонсом Radeon X1800, компания представляет сразу всю линейку DirectX 10-совместимых чипов: R600, RV630 и RV610.
В данной статье мы рассмотрим архитектурные особенности новой архитектуры ATI и чипа Radeon HD 2900 XT, а также попытаемся понять, было ли отставание ATI с выходом DirectX 10 графических процессоров вызвано "доводкой" по-настоящему революционной архитектуры, или же состоянием аппаратного и программного обеспечения, потребовавших дополнительной работы перед коммерческим запуском.
Унифицированная шейдерная архитектура: видение ATI
Как уже неоднократно говорилось, основной задачей для разработчиков современных графических процессоров является создание хорошо масштабируемой архитектуры, которая могла бы без особых усилий как расширена, так и урезана для создания GPU для разных ценовых сегментов.
Семейство ATI Radeon HD 2000 не стало исключением и, как мы видим по блок-схеме чипа R600 (Radeon HD 2900), довольно сильно напоминает по своей компоновке Radeon X1800/X1900. Сходство еще более увеличивает кольцевой контроллер памяти, впервые представленный в октябре 2005 года.
Сердцем чипа является динамический распределитель задач/нитей кода (ultra-threaded dispatch processor), который может одновременно распределять, по заявлениям ATI, тысячи задач, что довольно логично, учитывая, что новому распределителю потоков придётся управлять работой куда большего количества вычислительных ресурсов и типов данных.
Непосредственно потоковые процессоры (stream processors), которые отвечают за вычисления вершинных, геометрических и пиксельных шейдеров, организованы как 4 SIMD блока, состоящих из 16 шейдерных процессоров, каждый из которых включает в себя 5 скалярных ALU, способных исполнять по одной инструкции типа FP MAD за такт (при этом, один ALU из пяти способен исполнять инструкции вроде SIN, COS, LOG, EXP и т.п.).
Текстурные процессоры, как и в случае с архитектурой Radeon X1000, вынесены за пределы вычислительного конвейера и организованы как 4 больших блока, каждый из которых включает в себя 8 процессоров, отвечающих за вычисление адреса текстуры (texture address processors), 4 процессора, отвечающих за фильтрацию текстур (texture filter units), а также 20 процессоров отвечающих за выборку текстур (texture samplers). Ни один из блоков не имеет собственного кеша, а использует унифицированные L1, L2 и вершинные кеша.
Блоки render back-ends графического процессора R600 также представляют собой 4 довольно комплексных процессора, умеющих выполнять типичные для растеризаторов операции вроде блендинга, сглаживания и т.п..
Таким образом, можно отметить ряд важных моментов, присущих подходу ATI к реализации чипов Radeon HD 2000:
Вместо довольно жёсткой привязки количества потоковых процессоров к количеству текстурных процессоров и каналов контроллера памяти у Nvidia G80 разработчики ATI решили придерживаться полностью дифференцированного подхода по части количества тех или иных исполнительных устройств. С одной стороны, это даёт несколько большую гибкость, ведь теперь можно подстраивать внутренние ресурсы вновь создаваемых графических процессоров без существенных "внешних" изменений в конфигурации чипа. С другой, Nvidia G80, с жестко связанным количеством вычислительных процессоров, текстурников и растеризаторов, оказался хорошо сбалансированным решением, которое можно без особых проблем масштабировать согласно требованиям рынка на протяжении всего жизненного цикла архитектуры G8x, т.е. до середины, или даже конца 2009 года.
"Исполинские" текстурные процессоры и растеризаторы с богатой функциональностью и жёстко связанным количеством модулей. На первый взгляд, они могут быть хороши с точки зрения производства мощных графических процессоров, однако, могут сыграть злую шутку с простыми GPU, когда два-три таких процессора могут быть и невостребованными пользователями и занимать слишком существенную часть транзисторного бюджета, однако, один такой процессор рискует оказаться бутылочным горлышком. Впрочем, полностью диффенцируемое количество модулей внутри текстурных процессоров могло бы привести к увеличению сложности динамического распределителя задач, что, опять таки, ударило бы по транзисторному бюджету чипов среднего и нижнего ценового диапазона.
Ultra Threaded Dispatch Processor Version 2.0
Одним из наиболее важных компонент графического чипа с унифицированными вычислительными процессорами является распределитель задач, который управляет распределением ресурсов всего GPU таким образом, чтобы, по возможности, ни один блок графического процессора не простаивал.
Новый диспетчер задач (ultra-threaded dispatch processor) является еще более продвинутым устройством, нежели аналогичный модуль чипов Radeon X1000. Для сравнения, ultra-threaded dispatch processor у графического чипа предыдущего поколения – R580/Radeon X1900 – способен управлять обработкой до 512 тредов по 16 пикселей каждый одновременно, тогда как аппаратный диспетчер задач Radeon HD 2900 – тысячи тредов по 5 пикселей каждый.
Кроме того, существенным отличием распределителя задач нового поколения является умение распределять ресурсы не только пиксельных процессоров и текстурных процессоров, но полностью управлять в том числе и исполнением вершинных и геометрических шейдеров, динамически распределяя вычислительные мощности GPU. Стоит, впрочем, отметить, что новый диспетчер задач не занимается декодированием команд драйвера во внутренние команды чипа (это делает command processor), а также созданием самих очередей из вершинных, геометрических и пиксельных шейдеров (это – задача setup engine).
Сам ultra-threaded dispatch processor состоит из арбитров (arbiter), распределяющих задачи для вычислительных устройств и для текстурных процессоров, а также синхронизаторов (sequencers) для вычислительных процессоров. Интересно отметить, что каждый SIMD массив снабжен двумя арбитрами, что даёт возможность запускать на каждом массиве по две операции одновременно.
Разумеется, новый диспетчер задач поддерживает все техники по скрадыванию задержек для случаев, когда какой-либо ветви кода понадобятся данные, не находящиеся в кешах. В этом случае, как и в случае с Radeon X1000, исполнение ветви кода "замораживается", высвобождая вычислительные ресурсы для других задач.
Когда 64 равно 320: унифицированный шейдерный процессор ATI Radeon HD 2000
Новый шейдерный процессор ATI стал еще более сложным, чем те, что применяются в Radeon X1000 или Nvidia GeForce 8000.
Каждый пиксельный процессор R500-серии содержит в своем составе 2 скалярных и 2 векторных ALU, а также блок управления исполнением ветви кода (branch execution unit), и, соответственно, способен исполнять до 4 инструкций за такт + 1 инструкция управления потоком. Новый шейдерный процессор R600 содержит в себе 5 скалярных ALU, способных исполнять по одной FP MAD (Multiply-Add) инструкций за такт, при этом один из них способен выполнять трансцендентальные инструкции типа SIN, COS, LOG, EXP и т.п.. Шестым блоком в составе шейдерного процессора R600 является модуль branch execution unit, ответственный за исполнение инструкций управления потоком (проверка соответствия, циклы, вызов подпрограмм). Данный блок впервые появился в составе R520 и, в совокупности с процессором распределения нитей кода позволил значительно ускорить обработку шейдеров, активно использующих динамическое ветвление.
Помимо этого, в ATI решили снабдить каждый отдельный блок своим массивом регистров общего назначения (general purpose registers). Разумеется, в теории, каждый ALU должен иметь доступ к регистрам другого шейдерного процессора, однако, как обстоят дела на практике – неизвестно. В целом, интеграция регистров общего назначения в шейдерный процессор в очередной раз нацелена на упрощение масштабирования графических чипов, когда при увеличении/уменьшении числа шейдерных процессоров автоматически увеличивается/уменьшается и количество регистров.
Интересно отметить, что ATI/AMD предпочитает не говорить о 64 шейдерных процессора с пятью ALU на каждом, а указывает количество непосредственно вычислительных блоков. Такой подход имеет право на жизнь, однако, следует понимать, что сравнивать количество ALU у GeForce 8800 и Radeon HD 2000 не вполне правомерно.
Мы знаем, что каждый из 128 шейдерных поточных процессоров Nvidia G80 (архитектура которых, к слову, до сих пор остается тайной) может выполнять за такт набор из двух скалярных инструкций MAD+MUL. Каждый из 64 процессоров AMD R600 может выполнять до пяти инструкций (включая одну сложную) + инструкция управления потоком. Учитывая разницу в тактовых частотах вычислительных блоков R600 и G80, следует ожидать схожего уровня производительности, что подтверждают и приведенные разработчиками данные: согласно заявлению Nvidia, вычислительная мощность GeForce 8800 GTX оценивается примерно в 520 гигафлопс, а AMD называет для своего нового детища, Radeon HD 2900 XT, цифру на уровне 475 гигафлопс.
Текстурный процессор Radeon HD 2000: Лучше больше, и больше?
Хотя тенденции говорят, что в играх используется всё больше и больше шейдерных эффектов, практика показывает, что сложное текстурирование пока никуда не исчезло, а потому, 16 текстурных модулей у Radeon 1950 XTX зачастую являются бутылочным горлышком для всего решения. Тем страннее видеть, что у Radeon HD 2900 по-прежнему имеется 16 блоков фильтрации текстур.
Новый дизайн текстурного процессора Radeon HD 2000 представляет собой высокоинтегрированное устройство внутри чипа, конфигурация которого выглядит следующим образом:
8 модулей адресации текстур (texture address)
20 модулей выборки текстур (texture sampler)
4 модуля фильтрации текстур (texture filter)
Разумеется, новый текстурный процессор поддерживает фильтрацию FP32 текстур, а также vertex texture fetch, чего не было в случае с Radeon X1000. Кроме того, в соответствии с требованиями DirectX 10 поддерживаются текстуры размером 8192х8192, а также формат текстур RGBE 9:9:9:5. Помимо всего прочего, ATI/AMD обещает улучшенное качество анизотропной фильтрации.
К нашему сожалению, компания ATI снова снабдила своё детище, ориентированное на компьютерных энтузиастов, Radeon HD 2900, всего 16 блоками фильтрации текстур, что потенциально может стать бутылочным горлышком в производительности решения. Более того, Radeon HD 2600 имеет всего лишь 8 блоков фильтрации текстур, что, конечно, больше аналогичного числа у Radeon X1600, но столько же, сколько у уходящего Radeon X1650 XT.
Для сравнения, 8 текстурных процессоров Nvidia G80 содержат суммарно 64 блока фильтрации текстур, что означает четырехкратное превосходство. По количеству блоков адресации текстур, однако, мы видим паритет – 8 процессоров по 4 блока адресации у Nvidia и 4 процессора по 8 блоков у AMD R600, то есть, по 32 соответствующих блока у каждого GPU. Если по "чистой" скорости текстурирования эти решения должны быть близки, то в случае с использованием текстурной фильтрации R600 может серьезно уступить оппоненту, что, впрочем, будет проверено ниже с помощью теоретических тестов.
Для скрадывания задержек с текстурированием ATI увеличила размер L2 текстурного кеша у Radeon HD 2900 (R600) до 256Кб, а у Radeon HD 2600 (RV630) – до 128 Кб, в то же время, у Radeon HD 2400 (RV610) используется унифицированный L1/L2 кеш для текстур и вершин неизвестной вместимости.
Помимо алгоритмов кеширования, помочь избежать провалов производительности вследствие не очень высокой скорости текстурирования могут динамический распределитель задач, а также функции вроде Fetch4 (которая служит для четырехкратного ускорения выборки текстур, состоящих из одной компоненты, из близлежащих адресов), однако, нам еще предстоит узнать, насколько хорошо поведут себя тестурники ATI R600 в реальной жизни.
Эволюция кольцевого контроллера памяти: 512-битная шина становится реальностью
В новом поколении этот контроллер был значительно усовершенствован; впрочем, изменения, скорее, следует считать эволюционными, нежели революционными. Если первое поколение контроллеров с кольцевой топологией использовало в самом производительном варианте две однонаправленные 256-битные шины, то контроллер R600, во-первых, использует сразу четыре такие шины, обеспечивая, тем самым, 1024-битную ширину кольца, а во-вторых, не использует элементов классической топологии, как это было реализовано в контроллере памяти семейства Radeon X1000. Не имея единого центра, такой контроллер является полностью распределенным решением.
Согласно диаграммам ATI, всего кольцо имеет четыре так называемых Ring Stop, своеобразных "станции", осуществляющие прием и передачу данных от ядра и памяти. Пятая "станция" является звеном, обеспечивающим связь R600 с шиной PCI Express (что требуется для реализации технологии HyperMemory). Крайне логично было бы подозревать, что станций далеко не 4, а, согласно количеству чипов, 16, поскольку чипы BGA имеют 32-битную шину; однако, судя по диаграммам AMD, в случае с R600 речь идет о полнодуплексном двух-канальном контроллере памяти (который предпочитают называть Ring Stop), что даёт возможность адресовать 16 чипов памяти.
В сумме, четыре таких канала, теоретически, образуют 512-битную внешнюю шину доступа к ней – впервые в индустрии потребительской трехмерной графики. Все это позволяет добиться очень высокого уровня пропускной способности подсистемы памяти, что крайне важно сегодня, в эпоху высоких разрешений, экстремальных режимов сглаживания и HDR-рендеринга.
Render Back-End: теперь с ускорением Z/стенсил-буфера!
Блоки render back-ends, или, в иной терминологии, raster operator units (ROP), также представляют собой четыре весьма сложных процессора, умеющих выполнять типичные для растеризаторов операции: блендинг, сглаживание, работу с альфа-каналом, буфером глубины, стенсил-буфером и т.п. При этом каждый процессор содержит 4 блока работы с альфа-каналом, 8 блоков depth/stencil, 4 блока блендинга и 16 программируемых блоков, отвечающих за сглаживание.
В привычных терминах можно было бы сказать, что R600 имеет 16 ROP, но без учета особенностей архитектуры render back-ends это будет соответствовать истинному положению вещей лишь приблизительно.
Как и текстурные процессоры R600, блоки растеризации этого процессора, называемые AMD/ATI render back-ends, представляют собой сложные устройства, состоящие из ряда отдельных блоков, выполняющих разные операции, причем, число этих блоков различно
Каждый из render back-ends содержит:
4 блока работы с альфа-каналом и туманом
8 блоков работы с Z- и стенсил-буферами
4 блока блендинга
16 блоков обработки мультисэмплинга
К сожалению, сравнить архитектуры блоков R600 и G80 мы не можем, так как не имеем на руках подробной информации об устройстве последних, однако, очевидно, что растеризаторы нового семейства AMD могут работать с Z-буфером с удвоенной скоростью. При четырех растеризаторах Radeon HD 2900 количество обрабатываемых за такт пикселей, содержащих значения цвета и Z равно 16, однако, в случае работы только с Z-буфером это значение должно возрастать до 32 пикселей. По сравнению с возможностями GeForce 8800 GTX, могущей обрабатывать до 192 значений Z за такт это не выглядит прорывом, однако, на фоне Radeon X1950 XTX, не содержащего средств ускорения работы с Z-буфером, новая архитектура смотрится более чем достойно.
Архитектура растеризаторов Radeon HD 2000 менее неоднозначна, нежели архитектура текстурных процессоров, поэтому, можно считать, что Radeon HD 2900 XT имеет 16 ROP. Возможность обработки только 16 пикселей за такт против 24 у GeForce 8800 GTX или 20 у GeForce 8800 GTS должна компенсироваться более высокой тактовой частотой, на которой работают растеризаторы. Для Radeon HD 2900 XT она составляет 740 МГц, что значительно выше 576 МГц у GeForce 8800 GTX и 513 МГц у прямого конкурента новинки – GeForce 8800 GTS. Таким образом, "бутылочного горлышка" в этом месте R600, теоретически, возникнуть не должно, ну как обстоят дела на практике – покажут только результаты тестов.
Не приходится ожидать подвоха и со стороны блоков, отвечающих за сглаживание: каждый render back-end R600 содержит 16 таких блоков, суммарно – 64 блока. Это, а также их программируемость обеспечивает новым графическим процессорам AMD высокую производительность и весьма широкие возможности в области полноэкранного сглаживания, но о новых методах MSAA, поддерживаемых семейством Radeon HD, мы расскажем ниже.
Эволюция FSAA: теперь вплоть до 24х!
Несмотря на то, что обычный мультисэмплинг предоставляет оптимальный баланс между производительностью и качеством изображения, оба ведущих разработчика графических решений, ATI/AMD и Nvidia решили "научить" свои новые DirectX 10-совместимые GPU новым техникам FSAA так как, вопреки росту разрешений современных мониторов, многие пользователи желают видеть более качественное сглаживание.
Новое семейство Radeon HD 2000 получило поддержку новых методов сглаживания, названные разработчиком custom-filter antialiasing (CFSAA). По сути, CFAA включает в себя три метода сглаживания, достаточно сильно различающихся между собой:
CFAA с фильтром wide tent;
CFAA с фильтром narrow tent;
CFAA с адаптивным детектированием гранией (adaptive edge detect).
Два первых режима, wide tent и narrow tent, основаны на применении пост-фильтров, осуществляющих выборку субсэмплов за пределами пикселя. Согласно заявлению ATI, данный метод является полностью программируемым, субсэмплы имеют разный "вес", и, следовательно, разработчики программного обеспечения и драйверов смогут управлять качеством сглаживания по своему усмотрению. Хотя метод и имеет определенные преимущества, главным его недостатком является именно выборка субпикселей вне границ пикселя – это "замыливает" изображение, и, соответственно, может негативно отразиться на качестве финальной картинки.
Более многообещающей техникой, воплощенной в Radeon HD 2000, является сглаживание с адаптивным фильтром детектирования граней. Согласно разработчикам, эта техника может осуществлять проход, детектирующий грани на уже отрендеренном изображении, и затем применять к нему сглаживание с повышенным числом сэмплов на пиксели, отличающиеся друг от друга больше, чем другие, т.е., края текстур больших изображений. В потенциале это может уменьшить мерцание текстур и помочь избежать замыливания, однако, данное утверждение нуждается в проверке на практике, так как текстуры с множеством мелких деталей могут быть ошибочно подвергнуты сильному сглаживанию и станут расплывчатыми. К сожалению, текущая версия официальных драйверов для Radeon HD 2000 не поддерживает сглаживание с адаптивным детектированием гранией.
Avivo HD: полноценное HD приходит на PC
Несмотря на тот факт, что система защиты высококачественного контента (High-bandwidth Digital Content Protection, HDCP) в настоящее время поддерживается практически всеми современными графическими картами, это, к сожалению, не означает, что конечный пользователь может наслаждаться фильмами в разрешении 1080p с дисков Blu-ray или HD DVD на своем ПК. Графические чипы предыдущего поколения не поддерживают HDCP для разрешений, требующих использования подключения dual-link DVI. Более того, при использовании карт на основе таких чипов, пользователи не в состоянии услышать многоканальный звук, так как для подключения ПК к аудиосистеме им приходится использовать аналоговые разъемы "миниджек", что, из-за ограничений HDCP, низводит число звуковых каналов до двух, то есть, обычного стерео.
Семейство Radeon HD 2000 способно решить обе проблемы, и предоставить большие мощности для декодирования HD-контента. Новые чипы поддерживают HDCP для всех разрешений, а также содержат в своем составе встроенный аудиоконтроллер, позволяющий осуществлять передачу звука по интерфейсу HDMI (для чего ATI снабжает новые карты специальным переходником DVI -> HDMI). В результате, пользователи, чьи системы укомплектованы соответствующими оптическими приводами и графическими адаптерами серии Radeon HD, теперь смогут наслаждаться фильмами в формате 1080p с многоканальным звуком.
Новое семейство графических процессоров AMD обладает улучшенной поддержкой технологии Avivo HD. Ее суть заключается в наличии выделенного видеопроцессора, который способен аппаратно декодировать контент в форматах H.264 и VC-1, использующий энтропийные алгоритмы кодирования Context-Adaptive Variable Length Coding (CAVLC) и Context-Adaptive Binary Arithmetic Coding (CABAC).
Интересно отметить, что ATI/AMD заявляет о поддержке полностью аппаратного декодирования для кодеков H.264 и VC-1, в то время как Nvidia говорит лишь об обработке потоков H.264, но не VC-1. К сожалению, текущая версия ATI Catalyst не поддерживает декодирования VC-1 вообще, поэтому, мы пока не можем сравнить работу декодеров Avivo HD и PureVideo HD на практике.
Radeon HD 2900 XT with HDMI adapter Полноценное аппаратное декодирование HD-контента особенно важно для портативных компьютеров – хотя современные CPU без проблем справляются даже с форматом 1080p, в случае с мобильными чипами, программное декодирование означает более высокий уровень энергопотребления, нежели в случае использования аппаратного декодера в составе GPU. Согласно ATI, потребление системы, занятой программным проигрыванием HD DVD без поддержки GPU составляет порядка 52 Ватт, в то время, как использование помощи графического процессора снижает этот показатель до 35 Ватт.
С учетом того, что ноутбуки, оснащенные приводами HD DVD или Blu-ray, становятся все более популярными, AMD имеет все шансы выиграть ряд заказов на дизайны с Radeon HD 2000, благодаря продвинутым возможностям новых чипов в области декодирования HD-контента.
Также следует отметить, что Radeon HD 2400 и Radeon HD 2600 несут в своем составе специальную выделенную логику для пост-обработки видео. Она обеспечивает улучшенное качество денитерлейсинга, а также служит для увеличения четкости (egde enhancement), вертикального и горизонтального масштабирования и цветокоррекции.
Назад в Будущее: аппаратный тесселятор
Поверхности высокого порядка и аппаратная тесселяция не являются чем-то новым в мире потребительской трехмерной графики. Еще в 2001 году ATI и Nvidia представили технологии, предназначенные для улучшения детализации в играх без значительного усложнения геометрии (что привело бы к росту нагрузки на CPU, шины и т.д.).
Существует несколько типов поверхностей высокого порядка:
Кривые Безье
N-патчи
B-сплайны, NURB, NUB
Поверхности с настраиваемой детализацией (Subdivision surfaces): Loop и Catmull-Clark
Однако ни один из этих типов так и не стал популярным: с одной стороны, из-за неидеальной поддержки на аппаратном уровне, а с другой – из-за отсутствия поддержки разработчиков программного обеспечения. Но пользователи и создатели игр по-прежнему требуют более высококачественной геометрии, поэтому, ATI полагает, что аппаратная тесселяция вернется, поскольку способ увеличения геометрической детализации без создания чрезмерно сложных моделей является ценной технологией.
Согласно ATI/AMD, следующее поколение API DirectX будет поддерживать программируемую аппаратную тесселяцию, однако при этом не сообщается, будет ли аппаратный тесселятор, входящий в состав Radeon HD 2000 отвечать требованиям новой версии DirectX.
ATI заявляет, что созданный ей аппаратный блок тесселяции программируется с помощью вершинных шейдеров, что явилось для нас сюрпризом, так как DirectX 10 поддерживает геометрические шейдеры, способные дополнять модели вершинами. С другой стороны, блок тесселяции Radeon HD 2000 идентичен блоку, входящему в состав графического процессора Xbox 360, который, будучи решением класса DirectX 9, не умеет работать с геометрическими шейдерами.
Radeon HD 2000: семейный портрет
Перед тем, как перейти к результатам синтетических тестов и оценке качества изображения, давайте взглянем на технические характеристики представителей нового семейства Radeon HD 2000 и сравним их решениями конкурента ATI/AMD.
Как видите, Radeon HD 2600 и HD 2400 достаточно серьезно отличаются от Radeon HD 2900, но при этом спецификации Radeon HD 2600 не были урезаны настолько, чтобы чип стал ¼ от Radeon HD 2900, как случилось с Nvidia GeForce 8600 GTS.
Radeon HD 2900 XT: знакомство с картой
Дизайн печатной платы Поскольку внешняя шина памяти у R600 имеет ширину 512 бит, это потребовало разводки и создания новой печатной платы с соответствующими характеристиками. Тем не менее, при проектировании Radeon HD 2900 XT команде разработчиков ATI/AMD удалось не выйти за рамки габаритов предыдущего семейства, Radeon X1800/X1900/X1950. Radeon нового поколения вовсе не выглядит монстром, вроде GeForce 8800 GTX:
Из-за характерной конструкции системы охлаждения Radeon HD X2900 XT внешне несколько напоминает GeForce 8800 GTS, отличаясь, однако, традиционным для решений ATI красным цветом. После многих лет экспериментов в этой области, ведущие разработчики графических карт, похоже, окончательно пришли к единой компоновке систем охлаждения мощных видеоадаптеров. О кулере Radeon HD 2900 XT будет подробно рассказано ниже, а пока мы сосредоточим основное внимание на особенностях самой карты – разводке PCB, расположении элементов и т.д. Для этой цели мы демонтировали систему охлаждения.
Видно, что компоновка элементов Radeon HD 2900 XT очень плотная и пустые места на плате практически отсутствуют, что неудивительно, учитывая сравнительно скромные габариты, мощную систему питания и 512-битную шину памяти.
В Radeon HD 2900 XT применена так называемая "цифровая" схема питания, подобная той, которая использовалось в первом варианте Radeon X1950 Pro, но, разумеется, рассчитанная на более серьезные мощности: даже по самым предварительным оценкам уровень энергопотребления графического ядра R600 составляет свыше 130 Ватт, и, скорее всего, находится в районе 140-160 Ватт. От классической такая схема питания отличается значительно более высокой частотой работы (вплоть до нескольких МГц) и практически полным отсутствием электролитических конденсаторов. Нервным центром системы являются два высокочастотных цифровых ШИМ-контроллера Volterra VT1115M, способных работать на частоте до 1.3 МГц. Силовые элементы, которыми управляют контроллеры, не являются простыми МОП-транзисторами, а представляют собой специализированные контроллеры с цифровым интерфейсом. Судя по количеству индукторов, схема питания семифазная: один VT1115M может иметь в "подчинении" несколько ведомых модулей. В данном случае, верхний чип управляет тремя такими модулями, а нижний, судя по всему, четырьмя. Возможно, 6 фаз питают непосредственно графический процессор, а седьмая служит одним из источников питания памяти, но не исключен также вариант с семифазным питанием GPU и отдельным стабилизатором питания цепей VDD и VDDQ.
Подключение внешнего питания к Radeon HD 2900 XT осуществляется посредством двух разъемов, но, в отличие от GeForce 8800 GTX, один из них является восьмиконтактным. Это не представляет особой проблемы, так как он обратно совместим с шестиконтактной ответной частью, однако в случае подключения двух шестиконтактных вилок функции разгона и мониторинга температуры в Catalyst Control Center окажутся недоступными. Причина, по которой AMD применила именно такое схемотехническое решение, неясна. Нам известно, что Nvidia GeForce 8800 GTX, хотя и обладает солидными аппетитами по части энергопотребления, нагружает оба своих внешних разъема питания примерно одинаково и, вместе с тем, не очень сильно: на каждый из них приходится нагрузка примерно по 40 Ватт. Даже недавно анонсированная GeForce 8800 Ultra использует шестиконтактные разъемы, хотя ее печатная плата позволяет устанавливать вместо одного из них восьмиконтактный, как это сделано в новой разработке AMD. Между тем, максимальная нагрузочная способность каждого шестиконтактного разъема PCI Express определена стандартом на уровне 75 Ватт, что в совокупности с нагрузочной способностью слота, находящейся на том же уровне составляет внушительные 225 Ватт, а этого более чем достаточно для питания любого видеоадаптера. Следовательно, объективной необходимости в применении восьмиконтактного разъема питания нет и, скорее всего, еще долгое время не будет. Тем не менее, владельцам блоков питания с шестиконтактными разъемами, приобретших Radeon HD 2900 XT, придется смириться с отсутствием штатной возможности разгона и мониторинга температур или пользоваться утилитами сторонних разработчиков, благо в этом случае какие-либо ограничения отсутствуют.
Левая часть платы, где расположены GPU и памяти, заселена очень плотно. В глаза бросается обилие мелких элементов, составляющих обвязку чипов памяти. Это неудивительно, так как из-за ограниченных габаритов PCB и 512-битной шины памяти, ее микросхемы расположены с обеих сторон платы, что не позволяет разместить обвязку с обратной стороны, как это обычно делается в дизайнах с односторонним расположением микросхем GDDR3. Так как одна микросхема имеет 32-битную шину доступа, то при 512-битной общей шине и суммарном объеме видеопамяти 512 МБ необходимо использовать 16 чипов емкостью 256 Мбит. Микросхемы Hynix HY5RS573225AFP-1, установленные на Radeon HD 2900 XT, имеют именно такую емкость, работают при напряжении питания 2.2В и способны функционировать на частоте 1000 (2000) МГц. Реальная частота их работы в случае с Radeon HD X2900 XT заметно меньше и составляет лишь 825 (1650) МГц. Сравнительно низкая частота работы памяти означает, во-первых, невысокий уровень ее тепловыделения, а во-вторых, неплохой разгонный потенциал. Но даже без разгона на частоте 825 (1650) МГц при 512-битной шине доступа к памяти пропускная способность всей подсистемы составляет внушительные 105.6 ГБ/сек., что значительно больше аналогичных показателей GeForce 8800 GTX (86.4 ГБ/сек.) и GeForce 8800 GTS (64 ГБ/сек.). Такие характеристики вкупе с усовершенствованным кольцевым контроллером позволяют надеяться на то, что подсистема памяти Radeon HD 2900 XT не станет узким местом; скорее, этого следует ожидать от текстурных процессоров и растеризаторов. Как уже было упомянуто, чипы памяти установлены с обеих сторон платы, по 8 штук с каждой стороны. Микросхемы на лицевой стороне PCB охлаждаются основным кулером, а на обратной – с помощью массивной пластины-теплорассеивателя.
Графический процессор AMD R600, в отличие от Nvidia G80, использует упаковку с открытым кристаллом, причем, сам кристалл из-за солидной площади размещен на ней под углом 45 градусов. Для защиты от возможных сколов упаковка кристалла снабжена классической металлической защитной рамкой, предотвращающей перекос подошвы кулера.
Разделения на зоны с разными тактовыми частотами в R600 нет, и все элементы графического процессора работают на частоте 740 МГц. Ввиду того, что шейдерные процессоры AMD могут выполнять до 5 операций за такт против 2 операций за такт у процессоров Nvidia, это компенсирует отставание в тактовой частоте и количестве самих процессоров – 64 у R600 против 128 у G80.
В левом нижнем углу платы присутствует чип ATI Rage Theater 200, сменивший устаревший Rage Theater, устанавливаемый на картах Radeon прежних поколений. При создании видеоадаптера нового поколения ATI/AMD не стала отказываться от поддержки VIVO, как это сделала Nvidia. По сравнению со старой версией Theater, Theater 200 содержит более совершенные и качественные 12-битные видео-АЦП и поддерживает ряд возможностей по улучшению качества оцифровки видео. За аналоговый видеовыход отвечает встроенное в R600 ядро Xilleon, поддерживающее вывод аналогового видео в высоком разрешении.
Конфигурация разъемов, которыми оснащен Radeon HD 2900 XT, обычна для большинства достаточно производительных видеоадаптеров ATI/AMD и включает в себя два разъема dual-link DVI-I и универсальный девятиконтактный разъем VIVO/YPbPr, несовместимый со стандартным кабелем S-Video. Нижний разъем DVI-I также поддерживает вывод многоканального звука AC3 через интерфейс HDMI, для чего необходимо использовать специальный переходник ATI, поддерживающий такую возможность. К сожалению, разрядность звукового потока ограничена 16 битами, а максимальная частота дискретизации составляет всего 48 КГц. По крайней мере, именно такие параметры заявлены для несжатого потока в формате PCM, что не позволяет назвать звуковое решение AMD по-настоящему отвечающим концепции High Definition. Поскольку стандарт HDMI, начиная с версии 1.0, поддерживает воспроизведение звука в формате 24-бита/192 КГц, не исключено, что вышеупомянутое ограничение носит программный характер и может быть исправлено в будущем с появлением новых драйверов.
Так как R600 содержит в своем составе аппаратный блок совмещения кадров (Compositing Engine), необходимый для работы технологии CrossFire, в верхнем левом углу платы расположены две стандартные "гребенки" для подключения гибких шлейфов-мостиков. С их помощью два Radeon HD 2900 XT могут быть объединены в двухпроцессорный тандем для получения более высокой производительности, нежели способен обеспечить один видеоадаптер AMD.
Конструкция системы охлаждения В отличие от процессорных кулеров, при проектировании систем охлаждения мощных графических адаптеров пространства для инженерного маневра куда меньше. Если форма, размеры и масса первых могут варьироваться в широких пределах, то у вторых эти параметры должны укладываться в достаточно жесткие рамки, иначе видеоадаптер может просто не поместиться в стандартном корпусе ATX или перекрыть своим кулером более одного слота расширения на системной плате. Однако в свете того, что по уровню энергопотребления современные высокопроизводительные GPU зачастую превосходят самые мощные CPU, эффективность их охлаждения должна находиться на соответствующем уровне. Добиться этого, уложившись в вышеупомянутые рамки, достаточно непросто; в процессе эволюции систем охлаждения мощных графических карт разработчиками были перепробованы различные схемы компоновки и, постепенно обе ведущие графические компании, ATI/AMD и Nvidia, пришли к единой компоновке графических кулеров, способной обеспечить высокую эффективность охлаждения при сохранении приемлемых габаритных и шумовых характеристик.
Такая компоновка включает в себя радиальный вентилятор (т.н. бловер или centrifugal), забирающий воздух изнутри корпуса системы, продувающий его сквозь радиатор, отводящий тепло от GPU, микросхем памяти и других элементов на плате видеоадаптера, и выбрасывающий его за пределы корпуса сквозь прорези в двухслотовой крепежной планке.
Радиальный вентилятор интересен тем, что при сопоставимой с осевым вентилятором производительности обеспечивает более высокое статическое давление воздушного потока и меньшую его турбулентность. Следовательно, такой вентилятор лучше продувает длинные радиаторы со сравнительно малым шагом ребра, а именно такие радиаторы и используются в кулерах Nvidia GeForce 8800 GTX/GTS и AMD Radeon HD 2900 XT.
В отличие от решения Nvidia, система охлаждения использует медный радиатор, что не только способно положительно сказаться на эффективности охлаждения, но и значительно увеличивает массу всей системы. Радиатор, состоящий из 30 ребер, установлен на медном основании, непосредственно контактирующим с кристаллом графического процессора, а для эффективного и равномерного распределения теплового потока соединен с ним двумя тепловыми трубками. Он не столь велик, как радиатор GeForce 8800 GTS, но применение меди вместо алюминия может скомпенсировать разницу в площади теплорассеивания. Подошва кулера объединена со стальной рамкой, служащей для крепления этой части конструкции к плате посредством четырех болтов. С обратной стороны крепление дополнено упругой стальной пластиной, служащей для обеспечения плотного прижима основания кулера к поверхности GPU и предотвращения изгиба печатной платы.
В качестве термоинтерфейса между кристаллом и подошвой кулера используется привычная темно-серая термопаста. Основание и радиатор механически не соединены с алюминиевым основанием, выкрашенным в красный цвет и отводящим тепло от микросхем памяти и силовых элементов схемы питания с помощью эластичных розовых термопрокладок. Основание крепится к плате отдельно от не связанного с ним радиатора посредством еще 8 болтов. Эти же болты прижимают к обратной стороне PCB черную теплорассеивающую пластину, призванную охлаждать расположенные здесь микросхемы памяти. Плотный контакт обеспечивают все те же розовые термопрокладки. Поскольку память работает на частоте значительно ниже номинальной, такого охлаждения ей должно хватить с избытком. Сверху на основании установлен кожух из полупрозрачного красного пластика с нанесенным на нем серебристым узором, символизирующим развевающееся пламя.
Вентилятор, которым оснащена система охлаждения Radeon HD 2900 XT, использует широтно-импульсный метод управления скоростью вращения и подключен к плате посредством четырехконтактного разъема. Судя по всему, он несколько мощнее того, что установлен на GeForce 8800 GTX/GTS и на полной скорости должен шуметь очень сильно. С учетом меньшей площади радиатора и высокого уровня энергопотребления AMD R600, повышенного уровня шума можно ожидать и в повседневной работе, но так ли это на самом деле, мы выясним ниже.
В целом, система охлаждения AMD Radeon HD 2900 XT использует самую оптимальную на сегодня компоновку с радиальным вентилятором, тепловыми трубками и отводом горячего воздуха за пределы корпуса системы. Надеемся, она покажет себя не хуже, чем кулер, разработанный Nvidia для семейства GeForce 8800 GTX/GTS.
Быстрее, Громче, Выше: уровень шума и энергопотребления Radeon HD 2900 XT
Как всегда, мы провели замеры уровня шума, создаваемого системой охлаждения Radeon HD 2900 XT при помощи цифрового шумомера Velleman DVM1326 (точность измерения 0.1дБ), используя взвешенную кривую А.
При этом уровень фонового шума в помещении лаборатории составлял 36дБА, а уровень шума на расстоянии от работающего тестового стенда, оснащенного видеокартой с пассивным охлаждением был равен 43дБА. Были получены следующие данные:
К сожалению, стало очевидно, что Radeon HD 2900 XT отнюдь не является бесшумной картой. Хотя он, возможно, и не столь шумен, как некоторые другие видеоадаптеры, например, Radeon X1800 XL с первой версией кулера, он все-таки намного шумнее своего главного соперника, GeForce 8800. Более того, наш экземпляр карты не снижал скорость вращения вентилятора после снятия нагрузки (при выходе из 3D-приложений) и уровень шума оставался высоким даже тогда, когда мощное охлаждения было уже не нужным.
Хотя система охлаждения новинки показала себя эффективной, мы остались неудовлетворенны ее акустическими характеристиками и надеемся, что AMD найдет способ улучшить их в новых версиях BIOS или драйверов.
Мы также измерили уровень энергопотребления новой графической карты, используя специально предназначенный для этого стенд со следующей конфигурацией:
Процессор Intel Pentium 4 560 (3.60ГГц, 1МБ L2);
Системная плата Intel Desktop Board D925XCV (i925X);
Память PC-4300 DDR2 SDRAM (2x512МБ);
Жесткий диск Samsung SpinPoint SP1213C (120 ГБ, Serial ATA-150, буфер 8МБ);
Microsoft Windows XP Pro SP2, DirectX 9.0c.
Системная плата стенда модифицирована: к линиям питания слота PCI Express подключены шунты и разъемы для подключения измерительных приборов. Аналогичным шунтом и разъемами снабжен переходник 2xMolex -> 6-pin PCI Express. В качестве измерительного инструмента был использован цифровой мультиметр Velleman DVM850BL, обладающий погрешностью измерений не более 0.5%.
Как всегда, в режиме 3D карты нагружались с помощью первого теста SM3.0/HDR пакета 3DMark06, запускаемого в цикле в разрешении 1600х1200 с форсированными FSAA 4x и AF 16x. Режим peak 2D эмулировался с помощью теста 2D Transparent Windows, входящего в состав PCMark05. Замеры показали следующую картину:
Нельзя сказать, что GeForce 8800 GTX является экономичным решением, но Radeon HD 2900 XT обошел и его, потребляя под нагрузкой 161 Ватт, что является новым рекордом для нашей лаборатории. AMD заявляет, что уровень энергопотребления Radeon HD 2900 XT может достигать 215 Ватт, что значительно превышает полученные нами цифры. В этом свете, шум, создаваемый системой охлаждения флагманской карты AMD не является чем-то удивительным, ведь ей приходится справляться с внушительной нагрузкой…
Конфигурация тестовой платформы и методы тестирования
Для тестирования Radeon HD 2900 XT мы впервые использовали новый тестовый стенд на базе Intel Core 2 Duo, работающий под управлением операционной системы Microsoft Windows Vista. Его конфигурация была следующей:
Процессор Intel Core 2 Extreme X6800 (3.0ГГц, частота шины 1333МГц, множитель 9х)
Системная плата Asustek Computer P5N32-E SLI Plus (Nvidia nForce 680i SLI)
Память Corsair DDR2 1066MHz memory (2x1ГБ)
Жесткий диск Maxtor MaXLine III 7B250S0 (Serial ATA-150, буфер 16МБ)
Звуковая карта Creative SoundBlaster Audigy 2
Блок питания Enermax Galaxy DXX (EGX1000EWL, номинальная мощность 1000 Ватт)
Монитор Dell 3007WFP (30", максимальное разрешение 2560x1600)
Microsoft Windows Vista Ultimate 32-bit
ATI Catalyst HD2900_vista_8-37-4-070419a-046507E.exe для Radeon HD 2900 XT
ATI Catalyst 7.4 для Radeon X1000
Nvidia ForceWare 158.19
Поскольку мы считаем применение оптимизаций трилинейной и анизотропной фильтрации неоправданным, драйверы были настроены стандартным образом, подразумевающим максимально возможное качество фильтрации текстур:
ATI Catalyst:
Catalyst A.I.: Standard
Mipmap Detail Level: High Quality
Wait for vertical refresh: Always off
Adaptive antialiasing: On
Temporal antialiasing: Off
High Quality AF: On
Остальные настройки: по умолчанию
Nvidia ForceWare:
Texture Filtering: High quality
Vertical sync: Off
Trilinear optimization: Off
Anisotropic optimization: Off
Anisotropic sample optimization: Off
Gamma correct antialiasing: On
Transparency antialiasing: On (multi-sampling)
Other settings: по умолчанию
Поскольку Radeon HD 2900 XT представляет собой новое поколение графических карт AMD, прежде чем тестировать его в играх, мы предприняли небольшое теоретическое исследование, позволившее выявить некоторые особенности поведения R600. Для исследования использовался обычный набор тестов:
Marko Dolenc's Fillrate Tester
Xbitmark version 0.65
Futuremark 3DMark05 build 1.3.0
Futuremark 3DMark06 build 1.1.0
Качество FSAA и анизотропной фильтрации
Но перед запуском теоретических тестов мы решили выяснить, что представляют собой новые методы полноэкранного сглаживания ATI на практике, и насколько сильно они отличаются от старых техник, а также от метода CSAA, предложенного Nvidia.
Надо отметить, что включение CFAA не является интуитивно понятной задачей для новичка: пользователь должен сначала выбрать тип фильтра и только затем количество сэмплов, при этом, не поясняется, что тип "Box" означает обычный мультисэмплинг (MSAA), а типы "Narrow tent" и "Wide tent" относятся к CFAA. Неопытные пользователи могут затратить некоторое время на то, чтобы найти подходящий им метод сглаживания.
В настоящее время ATI Catalyst поддерживает MSAA 2x, 4x и 8x, в то время, как привычный пользователям продукции ATI/AMD MSAA 6x, представленный еще в 2001 году вместе с Radeon 8500, в списке поддерживаемых режимов отсутствует, по крайней мере, в текущей версии драйверов. Кроме того, драйвер поддерживает CFAA 4x, 6x, 8x, 12x и 16x, тогда как разрекламированный режим сглаживания с адаптивным детектированием граней не поддерживается.
Поскольку CFAA 4x представляет собой MSAA 2x с фильтром "Narrow tent", есть смысл сравнивать его с классическим MSAA 2x.
CFAA 4x vs. MSAA 2x Half-Life 2 Radeon HD 2900 XTRadeon X1950 XTXGeForce 8800 GTXCFAA 4xMSAA 2xMSAA 2x Elder Scrolls: Oblivion Radeon HD 2900 XTRadeon X1950 XTXGeForce 8800 GTXCFAA 4xMSAA 2xMSAA 2x Когда мы впервые тестировали Nvidia GeForce 8800 несколько месяцев назад, мы отметили, что доступный на момент появления новинок драйвер ForceWare имеет проблемы с туманом в Half-Life 2. К сожалению, сегодня мы имеем еще один неприятный сюрприз – новый драйвер ATI Catalyst демонстрирует ту же проблему.
Не подлежит оспариванию факт, что CFAA 4x сглаживает линии гораздо лучше, нежели MSAA 2x, но при этом приходится признать, что он довольно сильно способствует размыванию картинки в целом, поэтому, не является хорошим решением для игр, использующих четкие текстуры с множеством мелких деталей.
Все участники сегодняшнего тестирования поддерживают MSAA 4x, поэтому мы можем сравнить реализацию этого алгоритма в современных GPU.
MSAA 4x vs. MSAA 4x Half-Life 2 Radeon HD 2900 XTRadeon X1950 XTXGeForce 8800 GTXMSAA 4xMSAA 4xMSAA 4x Elder Scrolls: Oblivion Radeon HD 2900 XTRadeon X1950 XTXGeForce 8800 GTXMSAA 4xMSAA 4xMSAA 4x Отметим, что новый Radeon HD 2900 XT выдает более четкую картинку в сравнении с Radeon X1950 XTX и GeForce 8800 GTX. Сложно, однако, сказать, действительно ли качество сглаживания, обеспечиваемое R600 выше в сравнении с G80, так как на некоторых гранях паттерн MSAA, используемый Nvidia, дает более высокое качество, в то время, как в других случаях лучше проявляет себя паттерн Radeon.
Режим CFAA 6x воплощен двояко: как MSAA 2x с фильтром "Wide tent" и как MSAA 4x с фильтром "Narrow tent". Эти два метода мы будем сравнивать с MSAA 4x Radeon HD 2900 и MSAA 6x Radeon X1950 XTX.
CFAA 6x vs. MSAA 6x Half-Life 2 Radeon HD 2900 XTRadeon HD 2900 XTRadeon X1950 XTXCFAA 6x w. Narrow tentCFAA 6x w. Wide tentMSAA 6x Elder Scrolls: Oblivion Radeon HD 2900 XTRadeon HD 2900 XTRadeon X1950 XTXCFAA 6x w. Narrow tentCFAA 6x w. Wide tentMSAA 6x К сожалению, режим CFAA 6x с фильтром "Wide tent" оставляет артефакты сглаживания в дополнение к сильному "замыливанию" текстур. Это логично, так как число сэмплов цвета остается таким же, как в случае с MSAA 2x, в то время как объем размывания, применяемый драйвером к картинке, становится чрезмерным.
Режим CFAA 6x, использующий фильтр "Narrow tent", выглядит значительно лучше реализации с фильтром "Wide tent", так как, по сути, является улучшенным вариантом MSAA 4x и по качеству может сравниваться даже с MSAA 6x. К сожалению, выборка сэмплов за пределами пикселя все равно оставляет негативный эффект в виде небольшого "замыливания" картинки.
Как известно из обзора GeForce 8800 GTX, CSAA 8x не столь качественен, как режим FSAA 8xQ, являющийся, по сути, MSAA 8x, но все же на глаз, без применения специальных утилит, разницу заметить нелегко. Давайте сравним эти режимы с режимом MSAA 8x, реализованном в Radeon HD 2900 XT.
CFAA 8x vs. MSAA 8x vs. CSAA 8x vs. CSAA 8xQ Half-Life 2 Radeon HD 2900 XTRadeon X1950 XTXCFAA 8xCSAA 8x MSAA 8xCSAA 8xQ Elder Scrolls: Oblivion Radeon HD 2900 XTRadeon X1950 XTXCFAA 8xCSAA 8x MSAA 8xCSAA 8xQ Реализация MSAA 8x на Radeon HD 2900 XT выглядит чуть лучше, нежели Nvidia FSAA 8xQ в случае с The Elder Scrolls IV: Oblivion. К сожалению, проверить это в Half-Life 2 мы не смогли из-за проблем с некорректным отображением тумана.
Хотя режим CFAA 8x с фильтром "Wide tent" выглядит нормально и обеспечивает высокое качество сглаживания, он все же несколько размывает текстуры, и мелкие детали не выглядят в этом режиме по-настоящему четко.
Формально, два оставшихся режима CFAA, 12x и 16x являются прямыми конкурентами режимов CSAA 16x, поддерживаемых картами Nvidia. Давайте попробуем оценить разницу между ними.
CFAA 12x vs. CFAA 16x vs. CSAA 16x vs. CSAA 16xQ Half-Life 2 Radeon HD 2900 XTRadeon X1950 XTXCFAA 12xCSAA 16x CFAA 16xCSAA 16xQ Elder Scrolls: Oblivion Radeon HD 2900 XTRadeon X1950 XTXCFAA 12xCSAA 16x CFAA 16xCSAA 16xQ Нельзя отрицать того, что оба режима CFAA 12x (MSAA 8x с фильтром "Narrow tent") и CFAA 16x (MSAA 8x с фильтром "Wide tent") обеспечивают приемлемое качество сглаживания. Однако размывание картинки становится слишком заметным в случае CFAA 16x, и, хотя и в значительно меньшей степени, присутствует и в режиме CFAA 12x. Плюсом данных режимов является более аккуратное отображение растительности, но мелкие детали на сложных текстурах при этом практически исчезают из-за размытия. Поэтому, нам приходится признать, что режимы Nvidia CSAA 16x и CSAA 16xQ выглядят значительно лучше в сравнении с конкурирующими режимами ATI. Впрочем, насколько хорош объявленный режим с адаптивным детектированием граней, нам еще предстоит узнать.
Подведем итоги:
CFAA 4x лучше типичного MSAA 2x, но он размывает изображение.
CFAA 6x с фильтром "Wide tent" размывает изображение слишком сильно, и качество при этом хуже, нежели в случае обычного MSAA 4x.
CFAA 6x с фильтром "Narrow tent" обеспечивает качество сглаживания, сравнимое с режимом MSAA 6x, но все равно "замыливает" картинку.
CFAA 8x с фильтром "Wide tent" выглядит хорошо, но "замыливание" изображения достаточно заметно.
CFAA 12x с фильтром "Narrow tent" лучше обычного MSAA 8x, но, опять-таки, размывание изображения никуда не исчезает.
CFAA 16x с фильтром "Wide tent" размывает текстуры слишком сильно.
Теперь посмотрим на качество анизотропной фильтрации:
Anisotropic Filtering Radeon HD 2900 XTRadeon X1950 XTXGeForce 8800 GTXDefault QualityHigh QualityHigh Quality Оно не преподносит каких-либо сюрпризов. Radeon HD 2900 XT использует тот же алгоритм адаптивной анизотропной фильтрации, что и семейство Radeon X1000. Тем не менее, текущее поколение Nvidia GeForce 8800 обеспечивает еще более высокое качество анизотропной фильтрации, меньше зависящее от угла наклона. Не вполне ясно, почему AMD решила не улучшать эту часть своего нового чипа.
Производительность в различных режимах FSAA
Помимо сравнения качества различных режимов сглаживания, поддерживаемых Radeon HD 2900 XT, мы предприняли попытку оценить их влияние на производительность в популярном трехмерном шутере Half-Life 2: Episode One. Полученные результаты приведены ниже:
Новый Radeon HD 2900 XT, вне сомнения, быстрее своего предшественника, Radeon X1950 XTX, но он уступает не только GeForce 8800 GTX, но и прямому сопернику, GeForce 8800 GTS, что является тревожным знаком.
Что касается новых режимов сглаживания, то можно сделать следующие заключения:
Фильтр "wide tent" оказывает меньшее влияние на производительность, нежели фильтр "narrow tent".
СFAA с фильтром "narrow tent" не имеет подавляющего превосходства над сравнимыми по качеству режимами MSAA. Например, это справедливо для сравнения CFAA 6x с фильтром "narrow tent" с MSAA 8x.
На данный момент, Nvidia CSAA обеспечивает более высокую производительность, а также, зачастую, более высокое качество изображения в сравнении с ATI CFAA.
Производительность в теоретических тестах
Скорость заполнения сцены Radeon HD 2900 XT ведет себя полностью в соответствии с теорией: его скорость заполнения сцены чуть выше, чем у GeForce 8800 GTS из-за более высокой частоты GPU, но он не может конкурировать с GeForce 8800 GTX, располагающей 24 блоками растеризации против 16 у решения AMD. Также, R600 не может сравниться с G80 в области работы с Z-буфером, так он способен обрабатывать только 32 значения Z за такт.
Производительность при исполнении пиксельных шейдеров В целом, Radeon HD 2900 XT ведет себя подобно своему предшественнику, но его производительность падает только на шейдере PS 2.0 Per Pixel Lighting. Этот тест, скорее, не измеряет вычислительную мощность R600, а показывает наличие "бутылочных горлышек", например, низкую производительность текстурных процессоров. Тем не менее, новая карта, несомненно, опережает GeForce 8800 GTS, а в двух случаях из шести – даже GeForce 8800 GTX.
Времена, когда карты ATI лидировали в тесте Xbitmark, ушли: как видите, во многих случаях Nvidia GeForce 8800 GTX оставляет новое решение AMD далеко позади. Более того, налицо случаи, когда новинка лишь незначительно превосходит своего предшественника по причине наличия ахиллесовой пяты – всего 16 TMU.
Известно, что 3DMark05 и 3DMark06 используют один и тот же шейдер для соответствующего теста, но последний исполняет его несколько быстрее.
GeForce 8800 GTX в этом случае является неоспоримым лидером, тогда как производительность Radeon HD 2900 XT практически идентична производительности GeForce 8800 GTS. Мы не уверены, что этот тест на самом деле способен адекватно измерять вычислительную мощность современных GPU, и считаем, что он, скорее, сравнивает скорость выборки текстур, а также производительность контроллеров памяти и кэшей. Так или иначе, Radeon HD 2900 XT не опережает своего основного соперника, GeForce 8800 GTS, несмотря на более высокую скорость заполнения сцены.
Производительность при исполнении вершинных шейдеров В области обработки вершинных шейдеров Radeon HD 2900 XT выглядит значительно лучше, нежели при работе с пиксельными шейдерами. Достаточно логично, так как с выборкой вершин R600 проблем не испытывает, благодаря наличию 20 сэмплеров в каждом из четырех текстурных процессоров.
Аналогичное поведение наблюдается и в соответствующих тестах 3DMark: новинка оказывается практически в три раза быстрее своего предшественника и оставляет позади значительно более дорогой GeForce 8800 GTX.
Другие теоретические тесты Тест Shader Particles позволяет измерить эффективность обработки физической модели системы частиц с помощью пиксельных шейдеров и ее визуализации с помощью вершинного текстурирования. Предыдущее поколение чипов ATI не поддерживало выбороку текстур из вершинных шейдеров, в то время, как новое поколение полностью поддерживает эту возможность.
Хотя результаты Radeon HD 2900 XT достаточно высоки, он все же не опережает флагманское решение Nvidia. Новинка заметно теряет в скорости с ростом разрешения, что, очевидно, является следствием все той же ахиллесовой пяты – малого количества текстурных модулей и растровых процессоров.
В тесте Perlin Noise реалистичные облака, изменяющиеся в реальном времени, генерируются при помощи пиксельного шейдера, состоящего из 447 математических инструкций и 48 текстурных выборок. В целом, тест служит для оценки эффективности работы GPU с длинными шейдерами (спецификации Shader Model 3.0 требуют поддержки шейдеров длиной от 512 инструкций).
Radeon HD 2900 XT повел себя в этом тесте согласно ожиданиям, уверенно заняв первое место: при количестве математических инструкций, в 10 раз превышающим количество текстурных выборок, архитектура R600 чувствует себя очень уверенно.
Заключение
Нам еще только предстоит узнать производительность Radeon HD 2900 XT в реальных играх, поэтому окончательных выводов мы не делаем. Однако, некоторые особенности новинки, которая должна была появиться еще в четвертом квартале 2006 года и была задержана почти на полгода, мы отметить уже можем.
AMD Radeon HD 2900 XT здесь и работает; он имеет унифицированную архитектуру; он состоит из более чем 700 миллионов транзисторов – абсолютный рекорд на данный момент; он имеет 512-битную шину доступа к памяти, опять-таки, впервые в индустрии; он поддерживает множество интересных возможностей и технологий; но также он имеет драйверы, нуждающиеся в доработке и всего 16 текстурных модулей, ограничивающих его производительность даже в синтетических тестах.
Главными преимуществами семейства Radeon HD 2000 является высокая вычислительная производительность всех входящих в него чипов, а также их модульный дизайн, позволяющий компании быстро создавать новые процессоры из стандартных блоков – суперскалярных шейдерных процессоров, текстурных процессоров и блоков render back-end. Но если увеличение производительности решений, относящихся к классам performance-mainstream, mainstream и entry-level займет у компании еще год, как это случилось с переходом от Radeon X1600 XT к Radeon X1950 Pro, AMD рискует уступить значительную долю рынка Nvidia, активно придерживающейся политики обновления линеек своих продуктов каждые два квартала.
Новые методы сглаживания выглядят многообещающе, но не все они идеальны, так как в некоторых случаях мы отметили заметное "замыливание" текстур, что неприемлемо в 2007 году, когда наблюдается тенденция к использованию в играх текстур с множеством мелких деталей, а также микрогеометрии. Мы надеемся, что новый метод сглаживания с адаптивным детектированием граней покорит новые высоты качества изображения в потребительской трехмерной графике.
Другой потенциально востребованной возможностью является наличие в составе Radeon HD 2000 аппаратного блока тесселяции, аналогичного тому, который присутствует в составе графического процессора Xbox 360. Последнее может побудить разработчиков игр использовать этот блок и игры будут выглядеть более детализировано на картах семейства Radeon HD 2000.
Мультимедийные возможности нового семейства также выглядят многообещающе, но, к сожалению, полноценная поддержка унифицированного аппаратного декодера еще только должна появиться в драйверах. Хотя сейчас чипы официально поддерживают декодирование VC-1 и передачу звука через HDMI, отсутствие некоторых программных возможностей делает эти возможности практически бесполезными на сегодня.
Наконец, несмотря на то, что энергопотребление видеоадаптера стоимостью $399 не является решающим фактором при покупке и 160 Ватт не является чрезмерной нагрузкой для современных блоков питания, система охлаждения Radeon HD 2900 XT слишком шумна, что, несомненно, должно быть исправлено в коммерческих версиях Radeon HD 2900 XT.