Компьютер-Информ || Архив || Рубрики || Поиск || Подписка || Работа || О "КИ" || Карта
На сайте http://www.tomshardware.com в мае была опубликована статья о графическом процессоре Parhelia-512, разработанном канадской компанией Matrox. Как известно, компания Matrox не обычный производитель чипов для нужд других компаний, поэтому платы для чипа Parhelia будут производиться только Matroxом и только под своей торговой маркой. Вчипе, производимом по 0,15-мкм технологическому процессу и содержащем 80млн транзисторов, реализовано огромное количество 2D и 3D возможностей.
В российской части Интернет мы отыскали статью на сайте http://www.ixbt.com,
посвященную той же теме и содержащую сходные описания. Предлагаем нашим читателям
ознакомиться с ними подробнее.
Материал любезно предоставлен сайтом www.ixbt.com
Ключевые новшества (с точки зрения ускорителей) будущей версии игрового API:
Повышенная точность представления данных.
Введены новые форматы текстур и буферов кадра. Каждая компонента из четырех
(RGBA) теперь может быть представлена в виде 32- или 16-битного числа с плавающей
точкой в стандартных форматах IEEE F32 и F16. Каждая точка будет занимать 128
или 64 бита и это существенно поднимет требования к объему локальной памяти
графических ускорителей. Bпрочем, использовать подобные форматы везде и всюду
пока нет необходимости. Основное назначение точных форматов реализация различных
эффектов и моделей освещения (например, хранение таблиц, используемых в пиксельных
шейдерах). Содержимое буферов кадра в плавающем формате не может быть выведено
напрямую на монитор через RAMDAC или цифровой интерфейс оно используется только
для внутренних целей. Для повышенной точности представления целочисленной информации,
выводимой на экран, введен новый формат 10:10:10:2 (RGBA), где каждая цветовая
компонента передается с точностью 10 бит. Подобная точность с избытком покрывает
возможности современных устройств отображения и существенно расширяет динамический
диапазон, а следовательно, и качество результирующего изображения.
Картысмещения(Displacement Mapping).
Лицензированная у Matrox Graphics Inc. (и, разумеется, реализованная в Parhelia-512)
технология Displacement Mapping позволяет существенно увеличить степень реалистичности
и детальности рельефных поверхностей. Вотличие от привычных уже разновидностей
рельефа, наносимого на поверхности треугольников при закраске и не влияющего
на видимость тех или иных точек (картой рельефа моделируется только освещенность
точки, а не ее реальное положение в пространстве), карты смещения позволяют
создавать геометрически корректные рельефы, пересечение которых в пространстве
не будет выглядеть идеальной прямой. Фактически эта технология модифицирует
положение вершин треугольников, сдвигая их в направлении нормали к поверхности
на величину, пропорциональную значению из специальной текстуры.

Карта смещений отвечает за грубый рельеф, смещая вершины треугольников в направлении нормали, заданной для этой вершины. При необходимости, совместно с картой смещений можно использовать и традиционную карту рельефа (bump map) для создания более тонких попиксельных деталей.
Разумеется, число треугольников должно быть достаточным для передачи всех нюансов грубого рельефа, задаваемого картой смещений. Для того, чтобы эти треугольники создать автоматически, (не забивая головы программистов, ресурс центрального процессора и AGP-шину) используются N-патчи, т.е. технология увеличения детализации моделей на основе дополнительной тесселяции треугольников. Без аппаратной поддержки N-патчей карты смещения не могут быть использованы с точки зрения DX9 эта технология лишь существенное дополнение к алгоритму N-патчей.
Интересно, что в DX9 патчи претерпели существенные улучшения, например, степень детализации (число разбиений) теперь может выбираться автоматически в зависимости от расстояния от треугольника до наблюдателя. Таким образом, достигается более оптимальное, близкое к равномерному (с точки зрения наблюдателя) разбиение сцены все треугольники имеют примерно одинаковый видимый размер.
Кроме того, для карт смещения, так же как и для обычных текстур, можно использовать кратную фильтрацию (mip-mapping).
Разумеется, карты смещений можно применять не только для плоских поверхностей, но и для объемных моделей.
По сравнению с традиционными картами рельефа (включающими попиксельный рельеф на основе шейдеров), карты смещения, несомненно, более ресурсоемки все детали рельефа передаются треугольниками. Но зато они более реалистичны.
Разумеется, в реальных игровых приложениях, для получения динамичной и реалистичной графики необходимо разумно сочетать эти технологии.
Вершинныешейдеры второгопоколения(Vertex Shader2.0) имеют:
256 ассемблерных команд;
Как минимум 256 констант;
12 регистров общего назначения;
Управление исполнением условия, циклы, переходы, подпрограммы. Существенные
ограничения: управление возможно только на основе значений констант. Условные
переходы только вперед. Циклы только назад. Вызовы подпрограмм не могут быть
вложенными;
1 регистр со значением параметра цикла;
16 регистров с константами для задания параметров циклов;
16 регистров с логическими константами для переходов;
Возможность, при желании, записать шейдеры на С-подобном языке высокого
уровня, компилируемом в ассемблерный код автоматически.
Пиксельные шейдеры второго поколения (Pixel Shader2.0) имеют:
Все вычисления только с вещественными числами (с плавающей точкой) от
начала и до конца шейдера. Если нужно, результат преобразуется к целочисленному
формату только при записи в память;
Возможность, при желании, записать шейдеры на С-подобном языке высокого
уровня, автоматически компилируемом в ассемблерный код;
До 8 текстурных итераторов (т.е. вычисляемых для каждой точки треугольника
соответствующих ей текстурных координат);
До 16 выборок из текстур, в том числе зависимые выборки по предварительно
рассчитанным в шейдере координатам. Степень вложенности таких выборок не больше
4;
Шейдер может включать до 32 ассемблерных команд адресации текстур и до
64 ассемблерных арифметических команд в произвольном порядке;
Появились связанные с плавающими вычислениями команды (exp, log, rsq
и т.д.);
12 временных векторных регистров общего назначения;
32 константы;
Гамма-коррекция значений. Позволяет повысить реалистичность передачи
тонких цветовых нюансов, особенно в тенях синтезированных изображений. Проводится
прямая гамма-коррекция при записи результатов шейдера в буфер кадра и обратная
коррекция при поступлении исходных данных из буфера кадра или текстуры; можно
управлять значением гамма.
Кроме того, появился столь актуальный формат компрессии объемных текстур DXVC, лицензированный у NVIDIA.
Итак, ставка сделана (как и в случае OpenGL2.0) на программируемость ускорителя. Появление языка высокого уровня и существенное увеличение гибкости программируемых блоков сыграет свою положительную роль. Мечта многих компаний, разрабатывающихграфические чипы переложить большинство сложностей (алгоритмов) из железа на программы воплощается. Теперь внутри конвейеров ускорителя все данные передаются и обрабатываются с высокой точностью, обеспечиваемой плавающим форматом.
Появление стабилизированной версии MS DX9 ожидается в конце лета, а ее официальный выход, судя по всему, будет рождественским подарком.
А теперь познакомимся с Parhelia-512. Блок-схема:
Спецификация:
80 миллионов транзисторов;
Технологическая норма 0,15мкм;
Графическое ядро с частотой 250МГц (ориентировочно) и до 325 (650)МГц
частота DDR-памяти;
Полноценная 256бит(!) DDR- шина памяти;
Пропускная способность локальной памяти порядка 20Гб/сек;
Объем локальной памяти 64/128/256МБ;
AGP2x/4x/8x, включая режимы SBA и FastWrites;
4 пиксельных конвейера;
Вершинные шейдеры версии 2.0 (Vertex Shader2.0), четыре параллельных
исполняющих блока;
Скорость закраски около 1гигапикселя и около 4гигатекселей;
4 текстурных блока на каждом конвейере(!);
Пиксельные шейдеры версии 1.3 (Pixel Shader1.3), 4 текстурных плюс 5
комбинационных стадий на каждом пиксельном конвейере, с возможностью объединения
конвейеров попарно (получаем 2 конвейера по 10 комбинационных стадий);
EMBM и DOT3 наложение рельефа;
Фиксированный T&L DX8 (включая расширенные возможности матричного
блендинга и скининга). Фактически представляет собой специальный вершинный шейдер;
Построение, хранение в локальной памяти и вывод на монитор изображения
с точностью 10 бит на компоненту цвета(!). Технология 10-бит GigaColor;
Двавстроенныхвчип, 400МГц,10битнаканал RAMDAC,использующих технологию
UltraSharp;
Полноценная 10 бит таблица для произвольной гамма-коррекции выводимого
изображения;
DVD и HDTV видеодекодер с точностью (на выходе) 10 бит;
Вывод изображения в разрешенияхвплотьдо 2048x1536 (32бит, 85Гц);
Встроенный в чип интерфейс TV-Out с 10-битной точностью формирования
сигнала;
Два цифровых TDMS-интерфейса для цифровых выходов или внешних RAMDAC.
Поддерживается разрешение вплоть до 1920x1200 (32бит);
Два полностью независимых CRTC;
Возможность вывода одного изображения, растянутого на два или даже три(!)
приемника. Например, на два встроенных и один внешний RAMDAC или на оба встроенных
RAMDAC и TV-Out.Суммарноеразрешение втройномрежимедо 3840x1024 (32бит).
Технологии TripleHead Desktop, Surround Gaming и DualHead-HighFidelity (HF);
Адаптивная разновидность суперсэмплинга (не мултисэмплинг!) 16x Fragment
SSAA с числом сэмплов до 16 включительно. Активируется только на краевых точках
полигонов;
Аппаратная поддержка N-патчей с адаптивной тесселяцией(!) и картами смещения
(Displacement mapping);
Glyph Antialiasing технология аппаратного краевого сглаживания и гамма-коррекции
шрифтов(!);
MS DirectX8 и OpenGL1.3. Потенциально некоторые возможности DirectX9.
Большое число транзисторов при такой технологической норме знаменует собой как большие возможности, так и существенную себестоимость чипа Parhelia-512. Вообще странно, что такой сложный графический процессор планируется выпускать по 0,15-мкм технологическому процессу и еще неизвестно, каково будет тепловыделение. Еще более дорогим удовольствием, присущим всем чипам последнего поколения (P10, R300, NV30) является полноценная 256бит DDR-шина памяти.
Теоретически, подобный технологический скачок позволяет вдвое увеличить производительность графического ускорителя. Причем, сугубо за счет увеличения себестоимости продукта, без применения каких-либо новых технологий в архитектурном плане. Видимо, на данный момент подобное решение экономически выгоднее, нежели архитектурные изыски цены на память и печатные платы позволят применять широкую шину в широких масштабах.
Кроме того, в DX9, OpenGL2.0 и последующих версиях основных API все больше данных будет храниться в памяти ускорителя в плавающем (неохотно и непросто сжимаемом) формате. Все больше данных будут представлять собой геометрическую (и другую неграфическую) информацию. Решившись на столь широкую шину памяти, не надо вкладывать деньги в разработку и отладку сложных тайловых технологий закраски и сжатия, экономящих пропускную полосу локальной памяти (они существенно удорожают и увеличивают время разработки чипа и драйверов).
По словам одного из инженеров компании Matrox: Мы сделали этот чип, чтобы показать всем мы по-прежнему способны разработать передовое решение. Другой работник ответил менее серьезно: Just for fun. Очевидно, что в ближайшее время столь дорогое решение не сможет повлиять на передел рынка, а вот улучшить реноме компании Matrox способно. Даже если число проданных карт на базе Parhelia-512 не превысит 10000. Один только анонс чипа, содержащего передовые (не имеющие пока аналогов) технологические решения способен привлечь к себе пристальное внимание.
Итак, по сравнению с предыдущим поколением ускорителей, вдвое увеличится пропускная
полоса локальной видеопамяти. Но скорость не главный конек продуктов от Matrox.
На удивление, чип Parhelia-512 не оснащен какими-либо технологиями экономии
пропускной полосы памяти. Аведь подобные технологии есть во всех последних
продуктах от ATI и NVIDIA.
Поясним подробнее. Вотличие от ATI и NVIDIA, Matrox не снабдила свой последний
чип технологиями сжатия Z-буфера или раннего удаления невидимых поверхностей.
Есть только быстрая очистка Z-буфера. Чип и так слишком сложен, такое количество
транзисторов просит более тонкой 0,13-мкм технологии, но, видимо, пока она недоступна
для Matrox в необходимых количествах и/или с необходимой себестоимостью. Можно
прогнозировать появление через некоторое время (в начале 2003 года или позже)
обновленной версии чипа, выполненной по технологии 0,13мкм и с полной поддержкой
DX9.
Тесты инженерных образцов на еще очень сырых драйверах показывают лишь 20-30%-ное преимущество Parhelia-512 над NVIDIA GeForce4 Ti4600. Даже при условии успешного тюнинга программного обеспечения, двукратное превосходство вряд ли станет возможным. Полтора раза вот верхний предел. Очевидно, что при существенной стоимости карт на базе нового GPU от Matrox, обычным потребителям имеет смысл покупать их ради качества и уникальных возможностей, но не скорости. Сдругой стороны, Matrox не может претендовать на успех на профессиональном рынке без сертифицированных OpenGL-драйверов (возможно, они появятся вместе с профессиональной линейкой карт на базе Parhelia-512, выпуск которой планируется). Для ниши просто любителей качественного 2D карта неоправданно дорога.
Интересно, что ускоритель можно назвать лишь частично DX9-совместимым. Известно, что Parhelia-512 сможет исполнять вершинные шейдеры второго поколения. Но при этом Parhelia-512 не соответствует второму поколению пиксельных шейдеров! Максимум, на что чип способен в этом вопросе версия 1.3, т.е. до четырех текстур за проход. Давайте посмотрим на детальную схему пиксельных конвейеров чипа:
Исполнение пиксельных шейдеров версии 2.0 невозможно хотя бы из-за явно недостаточного числа стадий пиксельного конвейера и отсутствия текстурных лупбеков (нельзя использовать более 4-х значений текстур за один проход). Интересно, что в документах Matrox говорится о 36 стадиях, но на 4 пиксельных конвейера в сумме. Реально возможны две конфигурации:
Работают все 4 пиксельных конвейера, на каждом доступны 4 текстурных
и 5 пиксельных (арифметических) шейдерных стадий.
Работают только 2 конвейера, закраска 2 точек за такт. Доступны 4 текстурных
и 10 пиксельных стадий на каждом.
В результате, пиксельные шейдеры с числом команд более 5 будут исполняться вдвое медленнее. Справедливости ради отметим, что типичные пиксельные шейдеры версии 1.3 (и ниже) часто состоят из 5 и менее команд.
Фактически, маркетологи Matrox хотят запутать потенциальных покупателей внушительной цифрой в 36 стадий, совершенно не нужных ускорителю, ограниченному четырьмя текстурами за проход. Максимум, что мы можем получить на практике 4 текстурные и 10 пиксельных стадий. Приложениями будут использоваться только 8 из 10 в точном соответствии с ограничениями шейдеров версии 1.3.
В тех же документах от Matrox идет речь о 64(!) отсчетах текстур, выбираемых за такт чипом Parhelia-512, но при ближайшем рассмотрении становится понятно, что это число вновь лишь суммарная характеристика по всем 16 текстурным блокам чипа сразу. Неприятно, когда тебя стремятся запутать большими цифрами, полученными в обход общепринятых норм.
Итак, Parhelia-512 не является полноценным DX9-ускорителем. Надеяться на поддержку собственных нестандартных возможностей (находящихся между DX8 и DX9) со стороны разработчиков приложений нет смысла новый GPU от Matrox просто не займет достаточной для этого доли рынка.
С другой стороны, Parhelia-512 полноценно реализует уже подробно описанные нами карты смещений и N-патчи с адаптивной тесселяцией. Ито и другое реализовано строго в понимании DX9. Чип работает с введенным в DX9 10-ти битным форматом буфера кадров и имеет некоторые другие специфичные именно для DX9 возможности.
Вналичии полностью соответствующий DX9 блок вершинных шейдеров (версия2.0), способный параллельно обрабатывать четыре вершины.

Продолжение следует
Рубрики || Работа
|| Услуги || Поиск
|| Архив || Дни
рождения
О "КИ" || График
выхода || Карта сайта || Подписка
Рассылка анонсов газеты по электронной почте
Сайт газеты "Компьютер-Информ" является зарегистрированным электронным СМИ.
Свидетельство Эл 77-4461 от 2 апреля 2001 г.
Перепечатка материалов
без письменного согласия редакции запрещена.
При использовании материалов газеты в Интернет гиперссылка обязательна.
Телефон редакции (812) 718-6666, 718-6555.
Адрес: 196084, СПб, ул.Заставская, д.23, БЦ "Авиатор", 3-й этаж, офис 307
e-mail: editor@ci.ru
Для пресс-релизов и новостей news@ci.ru