Компьютер-Информ || Архив || Рубрики || Поиск || Подписка || Работа || О "КИ" || Карта

ЗАО "Техно-СПб" Системная интеграция

Ложное солнце/Parhelia-512


На сайте http://www.tomshardware.com в мае была опубликована статья о графическом процессоре Parhelia-512, разработанном канадской компанией Matrox. Как известно, компания Matrox═≈ не обычный производитель чипов для нужд других компаний, поэтому платы для чипа Parhelia будут производиться только Matrox▓ом и только под своей торговой маркой. В═чипе, производимом по 0,15-мкм технологическому процессу и содержащем 80═млн транзисторов, реализовано огромное количество 2D и 3D возможностей.

В российской части Интернет мы отыскали статью на сайте http://www.ixbt.com, посвященную той же теме и содержащую сходные описания. Предлагаем нашим читателям ознакомиться с ними подробнее.

Материал любезно предоставлен сайтом www.ixbt.com

DirectX═9

Ключевые новшества (с точки зрения ускорителей) будущей версии игрового 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-патчей.

Рисунок 1.

Интересно, что в DX9 патчи претерпели существенные улучшения, например, степень детализации (число разбиений) теперь может выбираться автоматически в зависимости от расстояния от треугольника до наблюдателя. Таким образом, достигается более оптимальное, близкое к равномерному (с точки зрения наблюдателя) разбиение сцены═≈ все треугольники имеют примерно одинаковый видимый размер.

Рисунок 2.

Рисунок 3.

Кроме того, для карт смещения, так же как и для обычных текстур, можно использовать кратную фильтрацию (mip-mapping).

Рисунок 4.

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

Рисунок 5.

По сравнению с традиционными картами рельефа (включающими попиксельный рельеф на основе шейдеров), карты смещения, несомненно, более ресурсоемки═≈ все детали рельефа передаются треугольниками. Но зато они более реалистичны.

Рисунок 6.

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

Вершинные═шейдеры второго═поколения═(Vertex Shader═2.0) имеют:
"═256 ассемблерных команд;
"═Как минимум 256 констант;
"═12 регистров общего назначения;
"═Управление исполнением═≈ условия, циклы, переходы, подпрограммы. Существенные ограничения: управление возможно только на основе значений констант. Условные переходы только вперед. Циклы только назад. Вызовы подпрограмм не могут быть вложенными;
"═1 регистр со значением параметра цикла;
"═16 регистров с константами для задания параметров циклов;
"═16 регистров с логическими константами для переходов;
"═Возможность, при желании, записать шейдеры на С-подобном языке высокого уровня, компилируемом в ассемблерный код автоматически.

Пиксельные шейдеры второго поколения (Pixel Shader═2.0) имеют:
"═Все вычисления только с вещественными числами (с плавающей точкой) от начала и до конца шейдера. Если нужно, результат преобразуется к целочисленному формату только при записи в память;
"═Возможность, при желании, записать шейдеры на С-подобном языке высокого уровня, автоматически компилируемом в ассемблерный код;
"═До 8 текстурных итераторов (т.═е. вычисляемых для каждой точки треугольника соответствующих ей текстурных координат);
"═До 16 выборок из текстур, в том числе зависимые выборки по предварительно рассчитанным в шейдере координатам. Степень вложенности таких выборок ≈ не больше 4;
"═Шейдер может включать до 32 ассемблерных команд адресации текстур и до 64 ассемблерных арифметических команд в произвольном порядке;
"═Появились связанные с плавающими вычислениями команды (exp, log, rsq и т.═д.);
"═12 временных векторных регистров общего назначения;
"═32 константы;
"═Гамма-коррекция значений. Позволяет повысить реалистичность передачи тонких цветовых нюансов, особенно в тенях синтезированных изображений. Проводится прямая гамма-коррекция при записи результатов шейдера в буфер кадра и обратная коррекция при поступлении исходных данных из буфера кадра или текстуры; можно управлять значением гамма.

Кроме того, появился столь актуальный формат компрессии объемных текстур═≈ DXVC, лицензированный у NVIDIA.

Итак, ставка сделана (как и в случае OpenGL═2.0) на программируемость ускорителя. Появление языка высокого уровня и существенное увеличение гибкости программируемых блоков сыграет свою положительную роль. Мечта многих компаний, разрабатывающих═графические чипы═≈ переложить большинство сложностей (алгоритмов) из ╚железа╩ на программы═≈ воплощается. Теперь внутри конвейеров ускорителя все данные передаются и обрабатываются с высокой точностью, обеспечиваемой плавающим форматом.

Появление стабилизированной версии MS DX9 ожидается в конце лета, а ее официальный выход, судя по всему, будет рождественским подарком.

А теперь познакомимся с Parhelia-512. Блок-схема:

Рисунок 7.

Спецификация:
"═80 миллионов транзисторов;
"═Технологическая норма 0,15═мкм;
"═Графическое ядро с частотой 250═МГц (ориентировочно) и до 325 (650)═МГц частота DDR-памяти;
"═Полноценная 256═бит(!) DDR- шина памяти;
"═Пропускная способность локальной памяти порядка 20═Гб/сек;
"═Объем локальной памяти 64/128/256═МБ;
"═AGP═2x/4x/8x, включая режимы SBA и FastWrites;
"═4 пиксельных конвейера;
"═Вершинные шейдеры версии 2.0 (Vertex Shader═2.0), четыре параллельных исполняющих блока;
"═Скорость закраски═≈ около 1═гигапикселя и около 4═гигатекселей;
"═4 текстурных блока на каждом конвейере(!);
"═Пиксельные шейдеры версии 1.3 (Pixel Shader═1.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 DirectX═8 и OpenGL═1.3. Потенциально═≈ некоторые возможности DirectX═9.

Большое число транзисторов при такой технологической норме знаменует собой как большие возможности, так и существенную себестоимость чипа Parhelia-512. Вообще странно, что такой сложный графический процессор планируется выпускать по 0,15-мкм технологическому процессу и еще неизвестно, каково будет тепловыделение. Еще более дорогим удовольствием, присущим всем чипам последнего поколения (P10, R300, NV30) является полноценная 256═бит DDR-шина памяти.

Теоретически, подобный технологический скачок позволяет вдвое увеличить производительность графического ускорителя. Причем, сугубо за счет увеличения себестоимости продукта, без применения каких-либо новых технологий в архитектурном плане. Видимо, на данный момент подобное решение экономически выгоднее, нежели архитектурные ╚изыски╩═≈ цены на память и печатные платы позволят применять ╚широкую╩ шину в широких масштабах.

Рисунок 8.

Кроме того, в DX9, OpenGL═2.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 GeForce═4 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), способный параллельно обрабатывать четыре вершины.

Продолжение следует


       КОМПЬЮТЕР-ИНФОРМ 
          Главная страница || Статьи ╧ 12'2002 (29 июня - 14 июля) || Новости СПб || Новости России || Новости мира

Анкета || Рубрики || Работа || Услуги || Поиск || Архив || Дни рождения
О "КИ" || График выхода || Карта сайта || Подписка

Главная страница

Сайт газеты "Компьютер-Информ" является зарегистрированным электронным СМИ.
Свидетельство Эл ╧ 77-4461 от 2 апреля 2021 г.
Перепечатка материалов без письменного согласия редакции запрещена.
При использовании материалов газеты в Интернет гиперссылка обязательна.

Телефон редакции (812) 118-6666, 118-6555.
Адрес: 196084, СПб, ул. Коли Томчака, д. 9
e-mail:
Для пресс-релизов и новостей