KYRO от STMicroelectronics/Imagination Technologies

Стрелка часов неумолимо движется по кругу, проходят месяцы и многое меняется. Меняются лидеры рынка 3D графических решений, меняются требования к современным акселераторам, меняются стратегии развития и методы достижения цели. Кто-то уходит с рынка, оставляя лишь память об удачных решениях и сожаления по несбывшимся надеждам. Рынок стал тесен, конкуренция стала более жесткой и выживают лишь самые стойкие и волевые компании.

31 августа 1999 года мир изменился и об этом заявила компания NVIDIA. Конечно, появление GeForce 256 было событием, но на самом деле мир лишь начал изменяться. Уже больше года происходят изменения, цель которых создание еще более реалистичной 3D графики. Разработчики игровых приложений уже не раздумывают над вопросом, поддерживать ли ту или иную аппаратную функцию, они просто встраивают эту поддержку. Так что GeForce 256 выполнил свою миссию. Сегодня уже не только NVIDIA двигает локомотив прогресса вперед, к ней присоединилась ATI. Совсем скоро ожидаются анонсы новых продуктов с поддержкой HW T&L от Matrox и 3dfx. Понятно, что свет не сошелся клином лишь на HW T&L. Новейший 3D акселераторы поддерживают массу интересных и полезных функций, повышающих качество изображений и усиливающих реализм восприятия. Есть и еще один интересный факт, который стоит отметить. Так, карта Voodoo5 5500 от 3dfx с двумя графическими процессорами на борту демонстрирует в играх производительность на уровне карты на базе всего лишь одного графического процессора GeForce 256 от NVIDIA с памятью типа DDR SGRAM на борту. Пока мультичиповые решения себя не оправдывают как по цене, так и по скорости. Отметим и еще один факт — почти все современные 3D графические решения построены на базе полигонной или так называемой традиционной архитектуре рендеринга. Но есть компания, которая давно занимается разработкой графических процессоров, использующих тайловую или нетрадиционную архитектуру рендеринга. Речь идет о Imagination Technologies Ltd (ранее носившая имя VideoLogic), чье подразделение PowerVR Technologies занимается разработкой графических процессоров. Партнером Imagination при создании, а точнее при проектировании непосредственно силикона и производстве чипов, с прошлого года стала компания STMicroelectronics (ранее известная под именем SGS Thomson). STMicroelectronics это гигант полупроводниковой промышленности с собственными заводами и мощными инженерными лабораториями. В свое время STM была партнером NVIDIA при создании и производстве чипов серии NV1 и Riva128.

Итак, совместное детище PowerVR Technologies и STMicroelectronics получило имя KYRO и относится к новой серии графических процессоров с тайловой архитектурой PowerVR Series3 (PVRS3).

Из истории мы знаем, что только первая версия акселератора из серии Power VR была довольно успешной на рынке (вспомним ускоритель m3D от Matrox, построенный на этом чипе), затем была большая пауза и много обещаний по представлению мощнейшего видеопроцессора второй серии. Однако к моменту своего выхода NEON-250 (так был назван новый акселератор из серии Power VR Series 2) уже морально устарел, в то время уже были ускорители, обеспечивающие лучшую производительность за меньшие деньги. В результате карты на базе Neon 250 продавались лишь в Великобритании и особого успеха не имели. Подробнее об этом можно прочитать в этой статье, где приведена как история развития серии Power VR, так и основы тайловой архитектуры. В данном обзоре я остановлюсь лишь на ключевых моментах архитектуры KYRO.

Тайловая архитектура

Как известно, в традиционной 3D-архитектуре рендеринга все операции происходят над полигонами, из которых и строится сцена. При этом сортировка полигонов происходит на основе информации из буфера глубины. Данные из этого буфера, в зависимости от способа чтения, могут формировать Z-буфер (наиболее распространенный) или W-буфер. Разница лишь в способе сортировки. Либо мы проверяем полигон на его "видимость" в сцене начиная от самого дальнего от наблюдателя, либо от самого ближнего к наблюдателю. Можно существенно повысить производительность (за счет снижения величины overdraw), если обрабатывать полигоны, начиная от ближних к дальним, а для корректной отработки alpha-channel, т.е. смешивания и, как следствие, для улучшения качества графики в игре, необходимо выводить полигоны, начиная от дальних к ближним. Понятно, что для буфера глубины требуется память, а с этой памятью нужно работать (читать, писать). В итоге мы получаем дополнительные издержки, снижающие производительность и удорожающие систему. В принципе, есть два метода борьбы с этой проблемой: можно применять различные модифицированные алгоритмы (например, иерархический Z-буфер) или можно использовать нетрадиционную архитектуру рендеринга (например, тайловую). Одно из преимуществ тайловой архитектуры заключается в отсутствии необходимости использования буфера глубины. Z-буфер в тайловых акселераторах реализован аппаратно и встроен в чип благодаря особенностям архитектуры. В результате экономится память (она для буфера глубины не нужна), получается выигрыш в производительности за счет отсутствия дополнительных циклов чтения/записи в память и за счет того, что коэффициент overdraw всегда равен 0 (т.к. еще до результирующего рендеринга сцены отбрасываются все невидимые полигоны). В тайловой архитектуре вся сцена разбивается на небольшие кусочки — тайлы (например, размером 16 на 32 пикселя). Каждый тайл обрабатывается отдельно, при этом можно отметить следующие основные инструменты и техники:

  • тайловый кадровый буфер (Frame Buffer Tile);
  • операция отсроченного текстурирования (Deferred Texturing);
  • получение высокой точности и качества изображения при цветовом смешении;
  • масштабируемость.

Тайловый кадровый буфер (Frame Buffer Tile) — по сути специально отведенное место непосредственно в чипе (типа встроенной памяти или кэша небольшого размера, достаточного для размещения одного тайла), в котором происходит: сортировка полигонов (на основе данных о вершинах), покрывающих один тайл, отсечение невидимых полигонов, операции обработки пикселей и т.д. Все эти процессы выполняются внутри чипа при 32 bit точности глубины представления цвета и на полной частоте ядра. Например, при тактовой частоте в 125 МГц тайловый процессор может обрабатывать около 20 миллионов треугольников в секунду, а с ростом тактовой частоты, или увеличением числа параллельно работающих тайловых процессоров, пиковая производительность будет увеличиваться.

Следующим моментом является операция отсроченного текстурирования (Deferred Texturing), когда текстурируются только финальные пиксели (те, который будут выведены на экран) — при этом отпадает необходимость в "лишних" обращениях к текстурной памяти, что снимает нагрузку с шины памяти.

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

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

Более подробно об особенностях тайловой архитектуры и ее отличии от традиционной вы сможете прочитать в этой статье и в этой.

Теперь перейдем непосредственно к самому чипу.

Основные характеристики KYRO

3D часть включает в себя такие аппаратные возможности, как:

  • Гибко адаптирующийся DirectX7 формат вертексов, однако нет упоминания о поддержке DirectX8. Поддержка DirectX8 на уровне драйверов гарантируется после официального выхода DirectX8 API;
  • Полная поддержка OpenGL ICD;
  • 8-слойное мультитекстурирование с уникальными особенностями, речь о которых пойдет ниже;
  • Механизм полной подготовки треугольников и параметров текстурирования/затенения: удаление скрытых поверхностей, затенение и текстурирование, где все параметры сцены хранятся в локальной памяти, что снижает нагрузку на процессор и интерфейсную шину. Все эти операции выполняются на уровне "силикона" — внутри самого чипа;
  • Механизм DLR (Display List Renderer) позволяет разбивать всю сцену на отдельные участки (тайлы или регионы, TILES), определяя перечень и последовательность производимых над этими регионами операций (тайловые приоритеты);
  • RGB-затенение по методу Гуро и наложение эффекта зеркального отражения;
  • Текстурную фильтрацию, включающую полную поддержку алгоритмов билинейной, трилинейной и анизотропной фильтраций;
  • Цветовое псевдосмешение и текстурное альфа-смешение;
  • Табличный и вертексный туманы;
  • Текстурная компрессия;
  • Рельефное текстурирование: Environmental Bump Mapping (EMBM), Embossed Bump Mapping и Perturbed UV Bump Mapping (aka Dot Product);
  • Полноэкранное сглаживание (FSAA методом OGSS) по схеме х2 и х4

128bit GUI акселерация (2D-часть) включает:

  • трех-операндные ROPs;
  • Аппаратное отсечение (Clipping);
  • Цветовое расширение;
  • Операции над битовыми блоками (BitBLT): прозрачность и растяжение;
  • Оптимизацию конвейера, обеспечивающую защиту от "выпадения" операций с 24bit глубиной экрана;
  • Все 2D операции выполняются аппаратно, включая моно цветовое расширение, прорисовка точек и линий.

Интерфейсная часть полностью поддерживает:

  • Режимы AGP 1x, 2x и 4x с применением SBA для выполнения операций AGP-текстурирования. Поддержка режима AGP 4x обеспечивает 1.056GBps пиковый канал с возможностью хранения в накопительном буфере ("отстойнике") до 32 задержанных запросов. Кроме этого обеспечено полное соответствие с требованиями к системе, выдвигаемыми в рамках ACPI, согласно PCI PM;
  • DMA Bus Mastering для разгрузки центрального процессора;
  • Интерфейс цифрового видеовывода: 12bit мультиплексированный цифровой интерфейс (цифровой порт 12bit DVA_D), интерфейс подключения стандартных LCD-устройств и цифровых TV-кодировщиков (интерфейс типа Conexant Bt868/869, Chrontel CH7003/7004 или цифровой трансмиттер, использующий интерфейс Silicon Image PanelLink Sil154), 24bit LCD режимы доступны вплоть до 1280х1024 при 60Hz кадровой синхронизации;
  • Режимы цифрового порта Master/Slave. В режиме "Master" чип генерирует синхросигналы ЦАП (DAC clock), горизонтальной (HSYNC) и вертикальной (VSYNC) развертки. В режиме "Slave" поток получаемых данных синхронизируется, если указанные ранее синхросигналы генерируются внешними цепями;
  • Видеопорт для видеозахвата, TV-тюнера и видеоконференций (протокол Н.324). Совместимость с портом VBI поддерживает захват данных для пакетов Intercast, Closed Caption и TeleText;
  • Все подмножества форматов PAL/NTSC видеовывода. Когда подключен ТВ-выход, цифровая панель автоматически отключается, но CRT-монитор в этот момент можно использовать в качестве "зеркала" с одинаковым разрешением.
  • Требования спецификации РС'99;
  • Прошивка BIOS полностью совместима с IBM VGA и соответствует требованиям, выдвигаемыми в рамках VBE 3.0, DPMS и DDC2Bi.

Возможности воспроизведения потокового видео и MPEG2 декодирование поддерживают:

  • Полную аппаратную поддержку DVD;
  • Механизм компенсации движения;
  • Поддержку оверлеев 4:2:0;
  • Цветовое смешение;
  • Аппаратную интерполяцию по осям X и Y.

128bit интерфейс памяти поддерживает:

  • Интерфейс SDRAM и SGRAM;
  • Частоту синхронизации интерфейса "чип/память" 125MHz с пиковой полосой пропускания 2GBps;
  • Общий объем поддерживаемой локальной памяти от 16 до 64 МВ;

Интегрированный 270MHz palette DAC содержит:

  • Тактовый синтезатор частот для синхронизации внутренних цепей и реализации петли ФАПЧ;
  • 32х32 аппаратный курсор;
  • Возможность установки 1920х1280 в TrueColor при 75Hz кадровой синхронизации.

Как можно видеть, список поддерживаемых функций весьма обширен и многообещающ.

Плата

Посмотрим теперь на саму карту:

       

Карта имеет AGP2x/4x интерфейсе, 64 мегабайта SDRAM памяти, размещенной в 8-ми чипах, расположенных на лицевой стороне PCB:

Чипы памяти произведены фирмой IBM, имеют время доступа 6.8 ns и рассчитаны на рабочую частоту 143 МГц. Возможно, на этой частоте память и функционирует, хотя есть предположение, что ее частота составляет 125 МГц. Во всяком случае, никаких утилит для точного измерения частоты памяти пока нет, поэтому можно только догадываться. Точно также о частоте работы KYRO можно либо догадываться, либо пользоваться слухами из Сети. Предположительно, чип работает на 125 МГц (показания MadOnion 3D Mark2000 косвенно подтверждают эту гипотезу), однако в Сети есть мнения и о том, что чип работает на частоте 115 МГц.

На данной плате установлен активный кулер, который можно встретить на очень редких видеокартах типа Canopus Spectra. Маленький, но высококачественный вентилятор осуществляет прогонку воздуха вдоль видеокарты (на радиаторе есть соответствующие щели).

Плата имеет зеленый цвет с желтыми надписями. На PCB есть разъем для подключения цифровых мониторов, а также управляющая микросхема для этого.

Поскольку рассматриваемая видеокарта — это опытный образец, reference card, о комплектации речь, разумеется, не идет.

Разгон

Утилит для разгона карты на KYRO в настоящий момент нет, поэтому карта работала только на штатных частотах.

Установка и драйверы

Теперь перейдем к практической части нашего обзора. Для начала представлю конфигурацию испытательных стендов:

  • процессор Intel Pentium III 1000 MHz:
  • системная плата Chaintech 6OJV (i815);
  • оперативная память 256 MB PC133;
  • жесткий диск IBM DPTA 20GB;
  • операционная система Windows 98 SE;

На стенде использовался монитор ViewSonic P810 (21").

Компания STMicroelectronics уже выпустила несколько бета-версий драйверов для KYRO. При тестировании я использовал последнюю версию 4.44 (версия BIOS 1.80, хотя существует и версия 1.81, однако ее перепрошивка приводит к крайне нестабильной работе карты). Именно проблема с отсутствием нормальных драйверов объясняет то, что обзор вышел только сейчас.

Драйверы устанавливаются через Setup, после чего в настройках дисплея появляются следующие настройки:

регулировка 2D-параметров:




включение вывода изображения на LCD-панель (дублирование):




настройка Direct3D-параметров:

   


настройка OpenGL-параметров:

   

Как видно, настройки позволяют регулировать основные 3D-функции: фильтрации, выключение Vsync, управление Z и W-буферами, рельефное текстурирование EMBM и др. В состав драйверов входит ICD OpenGL, но, к сожалению, отсутствует надлежащая поддержка API PowerSGL, поэтому например игра Unreal так и не запустилась через этот интерфейс.

Никаких средств для разгона в драйверах не предусмотрено.

Результаты тестов

C удовольствием могу констатировать, что у карты от STMicroelectronics на базе KYRO все показатели в 2D находятся на довольно высоком уровне и могут удовлетворить абсолютное большинство пользователей.

Рассматривать скоростные показатели KYRO в 3D-графике мы будем, используя три игры:

  • Rage Expendable (Direct3D, мультитекстурирование);
  • id Software Quake3 v.1.17 (OpenGL, мультитекстурирование);
  • Epic Games Unreal (Direct3D, мультитекстурирование).

Этих инструментов вполне достаточно для того, чтобы показать производительность видеокарты при работе через два основных API. Для наглядности на диаграммах приведены скоростные показатели еще двух видеокарт: ELSA ErazorX (на базе NVIDIA GeForce 256 SDR) и reference card NVIDIA GeForce2 MX.

Разработчики KYRO позиционируют карты на его базе в качестве соперника карт на базе NVIDIA GeForce2 MX, предполагая ценовые рамки не выше $150, поэтому уместно сравнить KYRO с аналогами как по сектору рынка, так и стоимости.








Нетрудно заметить, что карта на базе KYRO проиграла обоим своим конкурентам практически во всех тестах, кроме Expendable в 32-битном цвете. Вывод простой: при данном состоянии драйверов видеокарты на чипсете KYRO практически не представляют собой серьезного конкурента платам на базе NVIDIA GeForce2 MX.

Наличие поддержки EMBM не компенсирует низкую производительность, т.к. большинство игр с поддержкой EMBM работают только с картами на базе чипа G400 от Matrox.

Получается, что тайловая архитектура себя не оправдала? — Нет! Как раз архитектура то себя показала только с лучшей стороны. И вот почему. KYRO имеет лишь 2 конвейера рендеринга с одним модулем текстурирования на каждом, а, например, GeForce 256 имеет 4 конвейера с одним текстурным блоком на каждом. При этом производительность карт на базе этих процессоров примерно одинакова.

Обратите внимание на важный момент: при тестировании в Quake3 в 32-битном цвете использовался режим High Quality, который предусматривает включенную трилинейную фильтрацию, в 16-битном цвете при тестировании в стандартных режимах она выключена. Поэтому я специально в 16-битном цвете включил трилинейную фильтрацию при тестировании карты на базе KYRO, чтобы показать ничтожное падение производительности при переходе с 16- на 32-битный цвет. Это тоже демонстрирует сильную сторону тайловой архитектуры.

Правда, общее падение скорости при использовании трилинейной фильтрации у карты на базе KYRO просто ужасающе. Это не удивительно, т.к. у KYRO всего два пиксельных конвейера и два модуля текстурирования, а это значит, что мультитекстурирование и трилинейная фильтрация не могут без ужасных потерь в скорости работать одновременно. Тоже самое относится и к падению производительности при включении анизотропной фильтрации (о качестве ее реализации будет сказано ниже). Про скорость в режиме FSAA (Anti-aliasing) говорить просто не хочется, так как скорость настолько низкая, что поддержку этой функции можно считать заявленной лишь для галочки.

В общем, в качестве конкурента NVIDIA GeForce2 MX чип KYRO пока не тянет. Правда, мы пока не знаем конечных цен на эти карты, и если они окажутся ниже, чем предполагается сейчас и драйверы будут доведены до совершенства, то еще не все потеряно. Тем не менее, пока нареканий к качеству драйверов много, и радоваться успехам KYRO не приходится. Кстати, есть небольшие нарекания и к качеству отображения графики в ряде игр.

Если абстрагироваться от проблемы с низкой производительностью, то особого внимания заслуживает качество реализации анизотропной фильтрации у KYRO:

    
трилинейная фильтрация

    
анизотропная фильтрация

Видно, что качество изображения на нижнем скриншоте существенно выше. К сожалению, при включении анизотропной фильтрации производительность KYRO падает в три (!) раза! Если принять во внимание не столь выдающиеся результаты по скорости без анизотропной фильтрации, то ее активация делает неиграбельным вообще все разрешения.

Замечу, что у KYRO реализована настоящая трилинейная фильтрация, а не суррогат в виде аппроксимации, как у NVIDIA Riva TNT/TNT2 или 3dfx Voodoo3/4/5 (в OpenGL/Glide).

Что касается проигрывания DVD-Video, то при просмотре фильмов с помощью программного плеера WinDVD 2.1 процент загрузки центрального процессора системы не превышает 25%, однако есть ряд маленьких замечаний по качеству (иногда встречаются артефакты).

Выводы

Итак, мы рассмотрели новый продукта тандема STMicroelectronics/Imagination — видеокарту на чипсете KYRO (PowerVRS3). Эта карта практически по всем тестам уступила по скорости своим конкурентам в лице карт на базе NVIDIA GeForce2 MX и GeForce 256 SDR.

Безусловно KYRO доказала преимущество тайловой архитектуры (если абстрагироваться от производительности в играх), однако пользователям от этого не легче. Только снижение цен на карты на базе KYRO до уровня менее $100 может увеличить их шансы на востребованность рынком. При этом наличие качественных драйверов является обязательным условием.

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

Плюсы:

  • тайловая архитектура, позволяющая 2-х конвейерному чипу тягаться с 4-х конвейерным процессором, использующим полигонную архитектуру;
  • хорошая реализация поддержки воспроизведения DVD;
  • качественное и продуманное исполнение дизайна карты;

Минусы:

  • очень низкая производительность, не позволяющая на равных конкурировать с картами одного ценового ряда;
  • заявленная предварительная цена карты неоправданно завышена;
  • очень сильное падение производительности при включении трилинейной, а особенно анизотропной фильтрации;
  • отсутствие средств для разгона.




25 октября 2000 Г.

Обзор видеокарты KYRO от STMicroelectronics/Imagination Technologies

KYRO от STMicroelectronics/Imagination Technologies

Стрелка часов неумолимо движется по кругу, проходят месяцы и многое меняется. Меняются лидеры рынка 3D графических решений, меняются требования к современным акселераторам, меняются стратегии развития и методы достижения цели. Кто-то уходит с рынка, оставляя лишь память об удачных решениях и сожаления по несбывшимся надеждам. Рынок стал тесен, конкуренция стала более жесткой и выживают лишь самые стойкие и волевые компании.

31 августа 1999 года мир изменился и об этом заявила компания NVIDIA. Конечно, появление GeForce 256 было событием, но на самом деле мир лишь начал изменяться. Уже больше года происходят изменения, цель которых создание еще более реалистичной 3D графики. Разработчики игровых приложений уже не раздумывают над вопросом, поддерживать ли ту или иную аппаратную функцию, они просто встраивают эту поддержку. Так что GeForce 256 выполнил свою миссию. Сегодня уже не только NVIDIA двигает локомотив прогресса вперед, к ней присоединилась ATI. Совсем скоро ожидаются анонсы новых продуктов с поддержкой HW T&L от Matrox и 3dfx. Понятно, что свет не сошелся клином лишь на HW T&L. Новейший 3D акселераторы поддерживают массу интересных и полезных функций, повышающих качество изображений и усиливающих реализм восприятия. Есть и еще один интересный факт, который стоит отметить. Так, карта Voodoo5 5500 от 3dfx с двумя графическими процессорами на борту демонстрирует в играх производительность на уровне карты на базе всего лишь одного графического процессора GeForce 256 от NVIDIA с памятью типа DDR SGRAM на борту. Пока мультичиповые решения себя не оправдывают как по цене, так и по скорости. Отметим и еще один факт — почти все современные 3D графические решения построены на базе полигонной или так называемой традиционной архитектуре рендеринга. Но есть компания, которая давно занимается разработкой графических процессоров, использующих тайловую или нетрадиционную архитектуру рендеринга. Речь идет о Imagination Technologies Ltd (ранее носившая имя VideoLogic), чье подразделение PowerVR Technologies занимается разработкой графических процессоров. Партнером Imagination при создании, а точнее при проектировании непосредственно силикона и производстве чипов, с прошлого года стала компания STMicroelectronics (ранее известная под именем SGS Thomson). STMicroelectronics это гигант полупроводниковой промышленности с собственными заводами и мощными инженерными лабораториями. В свое время STM была партнером NVIDIA при создании и производстве чипов серии NV1 и Riva128.

Итак, совместное детище PowerVR Technologies и STMicroelectronics получило имя KYRO и относится к новой серии графических процессоров с тайловой архитектурой PowerVR Series3 (PVRS3).

Из истории мы знаем, что только первая версия акселератора из серии Power VR была довольно успешной на рынке (вспомним ускоритель m3D от Matrox, построенный на этом чипе), затем была большая пауза и много обещаний по представлению мощнейшего видеопроцессора второй серии. Однако к моменту своего выхода NEON-250 (так был назван новый акселератор из серии Power VR Series 2) уже морально устарел, в то время уже были ускорители, обеспечивающие лучшую производительность за меньшие деньги. В результате карты на базе Neon 250 продавались лишь в Великобритании и особого успеха не имели. Подробнее об этом можно прочитать в этой статье, где приведена как история развития серии Power VR, так и основы тайловой архитектуры. В данном обзоре я остановлюсь лишь на ключевых моментах архитектуры KYRO.

Тайловая архитектура

Как известно, в традиционной 3D-архитектуре рендеринга все операции происходят над полигонами, из которых и строится сцена. При этом сортировка полигонов происходит на основе информации из буфера глубины. Данные из этого буфера, в зависимости от способа чтения, могут формировать Z-буфер (наиболее распространенный) или W-буфер. Разница лишь в способе сортировки. Либо мы проверяем полигон на его "видимость" в сцене начиная от самого дальнего от наблюдателя, либо от самого ближнего к наблюдателю. Можно существенно повысить производительность (за счет снижения величины overdraw), если обрабатывать полигоны, начиная от ближних к дальним, а для корректной отработки alpha-channel, т.е. смешивания и, как следствие, для улучшения качества графики в игре, необходимо выводить полигоны, начиная от дальних к ближним. Понятно, что для буфера глубины требуется память, а с этой памятью нужно работать (читать, писать). В итоге мы получаем дополнительные издержки, снижающие производительность и удорожающие систему. В принципе, есть два метода борьбы с этой проблемой: можно применять различные модифицированные алгоритмы (например, иерархический Z-буфер) или можно использовать нетрадиционную архитектуру рендеринга (например, тайловую). Одно из преимуществ тайловой архитектуры заключается в отсутствии необходимости использования буфера глубины. Z-буфер в тайловых акселераторах реализован аппаратно и встроен в чип благодаря особенностям архитектуры. В результате экономится память (она для буфера глубины не нужна), получается выигрыш в производительности за счет отсутствия дополнительных циклов чтения/записи в память и за счет того, что коэффициент overdraw всегда равен 0 (т.к. еще до результирующего рендеринга сцены отбрасываются все невидимые полигоны). В тайловой архитектуре вся сцена разбивается на небольшие кусочки — тайлы (например, размером 16 на 32 пикселя). Каждый тайл обрабатывается отдельно, при этом можно отметить следующие основные инструменты и техники:

  • тайловый кадровый буфер (Frame Buffer Tile);
  • операция отсроченного текстурирования (Deferred Texturing);
  • получение высокой точности и качества изображения при цветовом смешении;
  • масштабируемость.

Тайловый кадровый буфер (Frame Buffer Tile) — по сути специально отведенное место непосредственно в чипе (типа встроенной памяти или кэша небольшого размера, достаточного для размещения одного тайла), в котором происходит: сортировка полигонов (на основе данных о вершинах), покрывающих один тайл, отсечение невидимых полигонов, операции обработки пикселей и т.д. Все эти процессы выполняются внутри чипа при 32 bit точности глубины представления цвета и на полной частоте ядра. Например, при тактовой частоте в 125 МГц тайловый процессор может обрабатывать около 20 миллионов треугольников в секунду, а с ростом тактовой частоты, или увеличением числа параллельно работающих тайловых процессоров, пиковая производительность будет увеличиваться.

Следующим моментом является операция отсроченного текстурирования (Deferred Texturing), когда текстурируются только финальные пиксели (те, который будут выведены на экран) — при этом отпадает необходимость в "лишних" обращениях к текстурной памяти, что снимает нагрузку с шины памяти.

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

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

Более подробно об особенностях тайловой архитектуры и ее отличии от традиционной вы сможете прочитать в этой статье и в этой.

Теперь перейдем непосредственно к самому чипу.

Основные характеристики KYRO

3D часть включает в себя такие аппаратные возможности, как:

  • Гибко адаптирующийся DirectX7 формат вертексов, однако нет упоминания о поддержке DirectX8. Поддержка DirectX8 на уровне драйверов гарантируется после официального выхода DirectX8 API;
  • Полная поддержка OpenGL ICD;
  • 8-слойное мультитекстурирование с уникальными особенностями, речь о которых пойдет ниже;
  • Механизм полной подготовки треугольников и параметров текстурирования/затенения: удаление скрытых поверхностей, затенение и текстурирование, где все параметры сцены хранятся в локальной памяти, что снижает нагрузку на процессор и интерфейсную шину. Все эти операции выполняются на уровне "силикона" — внутри самого чипа;
  • Механизм DLR (Display List Renderer) позволяет разбивать всю сцену на отдельные участки (тайлы или регионы, TILES), определяя перечень и последовательность производимых над этими регионами операций (тайловые приоритеты);
  • RGB-затенение по методу Гуро и наложение эффекта зеркального отражения;
  • Текстурную фильтрацию, включающую полную поддержку алгоритмов билинейной, трилинейной и анизотропной фильтраций;
  • Цветовое псевдосмешение и текстурное альфа-смешение;
  • Табличный и вертексный туманы;
  • Текстурная компрессия;
  • Рельефное текстурирование: Environmental Bump Mapping (EMBM), Embossed Bump Mapping и Perturbed UV Bump Mapping (aka Dot Product);
  • Полноэкранное сглаживание (FSAA методом OGSS) по схеме х2 и х4

128bit GUI акселерация (2D-часть) включает:

  • трех-операндные ROPs;
  • Аппаратное отсечение (Clipping);
  • Цветовое расширение;
  • Операции над битовыми блоками (BitBLT): прозрачность и растяжение;
  • Оптимизацию конвейера, обеспечивающую защиту от "выпадения" операций с 24bit глубиной экрана;
  • Все 2D операции выполняются аппаратно, включая моно цветовое расширение, прорисовка точек и линий.

Интерфейсная часть полностью поддерживает:

  • Режимы AGP 1x, 2x и 4x с применением SBA для выполнения операций AGP-текстурирования. Поддержка режима AGP 4x обеспечивает 1.056GBps пиковый канал с возможностью хранения в накопительном буфере ("отстойнике") до 32 задержанных запросов. Кроме этого обеспечено полное соответствие с требованиями к системе, выдвигаемыми в рамках ACPI, согласно PCI PM;
  • DMA Bus Mastering для разгрузки центрального процессора;
  • Интерфейс цифрового видеовывода: 12bit мультиплексированный цифровой интерфейс (цифровой порт 12bit DVA_D), интерфейс подключения стандартных LCD-устройств и цифровых TV-кодировщиков (интерфейс типа Conexant Bt868/869, Chrontel CH7003/7004 или цифровой трансмиттер, использующий интерфейс Silicon Image PanelLink Sil154), 24bit LCD режимы доступны вплоть до 1280х1024 при 60Hz кадровой синхронизации;
  • Режимы цифрового порта Master/Slave. В режиме "Master" чип генерирует синхросигналы ЦАП (DAC clock), горизонтальной (HSYNC) и вертикальной (VSYNC) развертки. В режиме "Slave" поток получаемых данных синхронизируется, если указанные ранее синхросигналы генерируются внешними цепями;
  • Видеопорт для видеозахвата, TV-тюнера и видеоконференций (протокол Н.324). Совместимость с портом VBI поддерживает захват данных для пакетов Intercast, Closed Caption и TeleText;
  • Все подмножества форматов PAL/NTSC видеовывода. Когда подключен ТВ-выход, цифровая панель автоматически отключается, но CRT-монитор в этот момент можно использовать в качестве "зеркала" с одинаковым разрешением.
  • Требования спецификации РС'99;
  • Прошивка BIOS полностью совместима с IBM VGA и соответствует требованиям, выдвигаемыми в рамках VBE 3.0, DPMS и DDC2Bi.

Возможности воспроизведения потокового видео и MPEG2 декодирование поддерживают:

  • Полную аппаратную поддержку DVD;
  • Механизм компенсации движения;
  • Поддержку оверлеев 4:2:0;
  • Цветовое смешение;
  • Аппаратную интерполяцию по осям X и Y.

128bit интерфейс памяти поддерживает:

  • Интерфейс SDRAM и SGRAM;
  • Частоту синхронизации интерфейса "чип/память" 125MHz с пиковой полосой пропускания 2GBps;
  • Общий объем поддерживаемой локальной памяти от 16 до 64 МВ;

Интегрированный 270MHz palette DAC содержит:

  • Тактовый синтезатор частот для синхронизации внутренних цепей и реализации петли ФАПЧ;
  • 32х32 аппаратный курсор;
  • Возможность установки 1920х1280 в TrueColor при 75Hz кадровой синхронизации.

Как можно видеть, список поддерживаемых функций весьма обширен и многообещающ.

Плата

Посмотрим теперь на саму карту:

       

Карта имеет AGP2x/4x интерфейсе, 64 мегабайта SDRAM памяти, размещенной в 8-ми чипах, расположенных на лицевой стороне PCB:

Чипы памяти произведены фирмой IBM, имеют время доступа 6.8 ns и рассчитаны на рабочую частоту 143 МГц. Возможно, на этой частоте память и функционирует, хотя есть предположение, что ее частота составляет 125 МГц. Во всяком случае, никаких утилит для точного измерения частоты памяти пока нет, поэтому можно только догадываться. Точно также о частоте работы KYRO можно либо догадываться, либо пользоваться слухами из Сети. Предположительно, чип работает на 125 МГц (показания MadOnion 3D Mark2000 косвенно подтверждают эту гипотезу), однако в Сети есть мнения и о том, что чип работает на частоте 115 МГц.

На данной плате установлен активный кулер, который можно встретить на очень редких видеокартах типа Canopus Spectra. Маленький, но высококачественный вентилятор осуществляет прогонку воздуха вдоль видеокарты (на радиаторе есть соответствующие щели).

Плата имеет зеленый цвет с желтыми надписями. На PCB есть разъем для подключения цифровых мониторов, а также управляющая микросхема для этого.

Поскольку рассматриваемая видеокарта — это опытный образец, reference card, о комплектации речь, разумеется, не идет.

Разгон

Утилит для разгона карты на KYRO в настоящий момент нет, поэтому карта работала только на штатных частотах.

Установка и драйверы

Теперь перейдем к практической части нашего обзора. Для начала представлю конфигурацию испытательных стендов:

  • процессор Intel Pentium III 1000 MHz:
  • системная плата Chaintech 6OJV (i815);
  • оперативная память 256 MB PC133;
  • жесткий диск IBM DPTA 20GB;
  • операционная система Windows 98 SE;

На стенде использовался монитор ViewSonic P810 (21").

Компания STMicroelectronics уже выпустила несколько бета-версий драйверов для KYRO. При тестировании я использовал последнюю версию 4.44 (версия BIOS 1.80, хотя существует и версия 1.81, однако ее перепрошивка приводит к крайне нестабильной работе карты). Именно проблема с отсутствием нормальных драйверов объясняет то, что обзор вышел только сейчас.

Драйверы устанавливаются через Setup, после чего в настройках дисплея появляются следующие настройки:

регулировка 2D-параметров:




включение вывода изображения на LCD-панель (дублирование):




настройка Direct3D-параметров:

   


настройка OpenGL-параметров:

   

Как видно, настройки позволяют регулировать основные 3D-функции: фильтрации, выключение Vsync, управление Z и W-буферами, рельефное текстурирование EMBM и др. В состав драйверов входит ICD OpenGL, но, к сожалению, отсутствует надлежащая поддержка API PowerSGL, поэтому например игра Unreal так и не запустилась через этот интерфейс.

Никаких средств для разгона в драйверах не предусмотрено.

Результаты тестов

C удовольствием могу констатировать, что у карты от STMicroelectronics на базе KYRO все показатели в 2D находятся на довольно высоком уровне и могут удовлетворить абсолютное большинство пользователей.

Рассматривать скоростные показатели KYRO в 3D-графике мы будем, используя три игры:

  • Rage Expendable (Direct3D, мультитекстурирование);
  • id Software Quake3 v.1.17 (OpenGL, мультитекстурирование);
  • Epic Games Unreal (Direct3D, мультитекстурирование).

Этих инструментов вполне достаточно для того, чтобы показать производительность видеокарты при работе через два основных API. Для наглядности на диаграммах приведены скоростные показатели еще двух видеокарт: ELSA ErazorX (на базе NVIDIA GeForce 256 SDR) и reference card NVIDIA GeForce2 MX.

Разработчики KYRO позиционируют карты на его базе в качестве соперника карт на базе NVIDIA GeForce2 MX, предполагая ценовые рамки не выше $150, поэтому уместно сравнить KYRO с аналогами как по сектору рынка, так и стоимости.








Нетрудно заметить, что карта на базе KYRO проиграла обоим своим конкурентам практически во всех тестах, кроме Expendable в 32-битном цвете. Вывод простой: при данном состоянии драйверов видеокарты на чипсете KYRO практически не представляют собой серьезного конкурента платам на базе NVIDIA GeForce2 MX.

Наличие поддержки EMBM не компенсирует низкую производительность, т.к. большинство игр с поддержкой EMBM работают только с картами на базе чипа G400 от Matrox.

Получается, что тайловая архитектура себя не оправдала? — Нет! Как раз архитектура то себя показала только с лучшей стороны. И вот почему. KYRO имеет лишь 2 конвейера рендеринга с одним модулем текстурирования на каждом, а, например, GeForce 256 имеет 4 конвейера с одним текстурным блоком на каждом. При этом производительность карт на базе этих процессоров примерно одинакова.

Обратите внимание на важный момент: при тестировании в Quake3 в 32-битном цвете использовался режим High Quality, который предусматривает включенную трилинейную фильтрацию, в 16-битном цвете при тестировании в стандартных режимах она выключена. Поэтому я специально в 16-битном цвете включил трилинейную фильтрацию при тестировании карты на базе KYRO, чтобы показать ничтожное падение производительности при переходе с 16- на 32-битный цвет. Это тоже демонстрирует сильную сторону тайловой архитектуры.

Правда, общее падение скорости при использовании трилинейной фильтрации у карты на базе KYRO просто ужасающе. Это не удивительно, т.к. у KYRO всего два пиксельных конвейера и два модуля текстурирования, а это значит, что мультитекстурирование и трилинейная фильтрация не могут без ужасных потерь в скорости работать одновременно. Тоже самое относится и к падению производительности при включении анизотропной фильтрации (о качестве ее реализации будет сказано ниже). Про скорость в режиме FSAA (Anti-aliasing) говорить просто не хочется, так как скорость настолько низкая, что поддержку этой функции можно считать заявленной лишь для галочки.

В общем, в качестве конкурента NVIDIA GeForce2 MX чип KYRO пока не тянет. Правда, мы пока не знаем конечных цен на эти карты, и если они окажутся ниже, чем предполагается сейчас и драйверы будут доведены до совершенства, то еще не все потеряно. Тем не менее, пока нареканий к качеству драйверов много, и радоваться успехам KYRO не приходится. Кстати, есть небольшие нарекания и к качеству отображения графики в ряде игр.

Если абстрагироваться от проблемы с низкой производительностью, то особого внимания заслуживает качество реализации анизотропной фильтрации у KYRO:

    
трилинейная фильтрация

    
анизотропная фильтрация

Видно, что качество изображения на нижнем скриншоте существенно выше. К сожалению, при включении анизотропной фильтрации производительность KYRO падает в три (!) раза! Если принять во внимание не столь выдающиеся результаты по скорости без анизотропной фильтрации, то ее активация делает неиграбельным вообще все разрешения.

Замечу, что у KYRO реализована настоящая трилинейная фильтрация, а не суррогат в виде аппроксимации, как у NVIDIA Riva TNT/TNT2 или 3dfx Voodoo3/4/5 (в OpenGL/Glide).

Что касается проигрывания DVD-Video, то при просмотре фильмов с помощью программного плеера WinDVD 2.1 процент загрузки центрального процессора системы не превышает 25%, однако есть ряд маленьких замечаний по качеству (иногда встречаются артефакты).

Выводы

Итак, мы рассмотрели новый продукта тандема STMicroelectronics/Imagination — видеокарту на чипсете KYRO (PowerVRS3). Эта карта практически по всем тестам уступила по скорости своим конкурентам в лице карт на базе NVIDIA GeForce2 MX и GeForce 256 SDR.

Безусловно KYRO доказала преимущество тайловой архитектуры (если абстрагироваться от производительности в играх), однако пользователям от этого не легче. Только снижение цен на карты на базе KYRO до уровня менее $100 может увеличить их шансы на востребованность рынком. При этом наличие качественных драйверов является обязательным условием.

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

Плюсы:

  • тайловая архитектура, позволяющая 2-х конвейерному чипу тягаться с 4-х конвейерным процессором, использующим полигонную архитектуру;
  • хорошая реализация поддержки воспроизведения DVD;
  • качественное и продуманное исполнение дизайна карты;

Минусы:

  • очень низкая производительность, не позволяющая на равных конкурировать с картами одного ценового ряда;
  • заявленная предварительная цена карты неоправданно завышена;
  • очень сильное падение производительности при включении трилинейной, а особенно анизотропной фильтрации;
  • отсутствие средств для разгона.