PowerColor EvilKYRO
Введение
В последнее время, когда на рынке производителей 3D акселераторов одной фигурой стало меньше, замечается всё больший интерес покупателей к "сторонним решениям", то есть к тем фирмам, которые ещё не успели приесться и надоесть бесконечными пресс-релизами. Обычно на такие "тёмные лошадки" возлагаются большие надежды, и многие готовы терпеть недостатки таких продуктов только потому, что это не nVidia, или 3dfx.
Одной из таких "тёмных лошадок" являются фирмы Imagination Technologies и ST Microelectronics, создавшие видеочип PowerVR 3, также известный как KYRO. Вообще, чипы PowerVR мало известны потребителям. Разве что, можно вспомнить известный ускоритель Matrox M3D на PowerVR, или Neon 250 на втором поколении чипов PowerVR, да и всё - больше про PowerVR ничего не известно. Похоже, что и KYRO была уготовлена та же судьба, если бы не несколько серьёзных причин. Первая из них в том, что по сравнению с предыдущими годами потребность в 2D/3D ускорителях низшего класса значительно возрасла. С этого рынка ушли такие решения как S3 Savage, Verite, Permedia и др. Всё, что позиционировалось на низший класс - это очень медленные Riva TNT, TNT2, Vanta, а также Rage Pro, Voodoo3 2000, Savage4. Видеокарты на этих чипах имеют слишком низкую скорость и порой завышенную цену. А покупатели ведь мечтают о скоростях GeForce2 GTS почти за даром. Тут, конечно, как нельзя лучше подходят видеокарты на GeForce2 MX и GeForce256, но в этом и есть вторая причина - рынок пересыщен видеокартами на чипах nVidia. А когда цены на GeForce стоят на месте, хочется ждать чего-то новенького, какого-то чуда, свежего решения и по низкой цене.

Таким свежим решением и стал чип KYRO. Инженеры STM не стали встраивать в свой чип блок аппаратного рассчёта трансформаций и освещения (T&L). Вместо этого они применили тайловую архитектуру рендеринга, о которой в последнее время нам всё чаще приходится слышать. Давайте рассмотрим характеристики KYRO.
- 12 миллионов транзисторов
- 0.25 мкм процесс
- RAMDAC 270 МГц
- Частота ядра/памяти 125 МГц
- 2 пиксельных конвейера
- Скорость заполнения 250 MPixels/sec. (750 Mpixel/sec - эффективный филрейт)
- Поддержка от 16 до 64 Мб SDRAM, SGRAM
- 128-bit шина памяти
- Пропускная способность шины памяти 2 Гб/с
- 32-bit z-buffer
- Тайловая архитектура рендеринга
- Full Scene Anti-Aliasing (2x и 4x)
- Поддержка Environment Mapped Bump Mapping (EMBM)
- 8-уровневое мультитекстурирование
- Поддержка анизотропной фильтрации
- Поддержка компенсации движения
- Поддержка AGP 2x/4x, SBA, DiME
- Компрессия текстур DXTC
- Внутренний 32-битный цвет
- OpenGL ICD
На первый взгляд, 125 МГц при двух пиксельных конвейерах даёт скорость заполнения 250 МPixel/sec. Такой низкий уровень был пригоден для Riva TNT2, но никак не для чипа 2000 года. Как же может этот акселератор соперничать с GeForce256, или Voodoo5? Ответом на этот вопрос и является тайловая архитектура. Мы никогда раньше не встречали понятие "эффективный филрейт". Это связано с тем, что в современных акселераторах эффективный филрейт не превышает теоретического. В случае с KYRO нельзя сказать, что карта будет иметь скорость заполнения больше теоретической, но благодаря своей архитектуре KYRO сможет состязаться с чипами, имеющими филрейт 750 МPixels/sec.
Теперь обратим внимание на пропускную способность шины памяти. 2 Гб/с - это намного меньше, чем у GeForce2 GTS (5.3 Гб/с), или даже GeForce256 (2.7 Гб/с). Сразу можно было бы записать KYRO в ряды отстающих, если бы не тайловая архитектура.
Тайловая архитектура
Для того, чтобы понять работу тайловой архитектуры, надо знать, как происходит визуализация сцены. Здесь мы не будем вдаваться в технические подробности рендеринга сцены, а сразу рассмотрим преимущества тайловой архитектуры перед обычной.
Представьте себе обычную сцену из какой-нибудь игры. Скажем, Quake. Вы стоите посредине комнаты, из которой коридоры ведут в другие залы, подземелья и прочие тёмные места. Обычный ускоритель должен для каждого полигона сцены рассчитать цвет и видимость каждого пикселя. Для этого ускоритель читает из памяти текстуру и накладывает тексели на каждый пиксель, определяя его цвет. Затем ускоритель определяет видимость каждого пикселя, используя Z-буфер для хранения информации о z-координатах. Если пиксель видимый (перед ним нет непрозрачных полигонов), то он передаётся во фреймбуфер (кадровый буфер), или при необходимости смешивается с другим пикселем (если перед ним находится прозрачный полигон). Что находится во фреймбуфере, мы и видим на экране.
На что расходуются ресурсы? На текстурирование всех пикселей, даже тех, которые мы не видим. На обращение к Z-буферу, который может требовать достаточно много памяти, в зависимости от разрядности. Именно эти операции и сдерживают производительность GeForce2 GTS, не давая достигнуть максимумов скорости заполнения. Именно они загружают шину видеопамяти.
Как происходит рендеринг в KYRO? Представьте себе, что весь экран разбивается на маленькие прямоугольнички размером 32x32, или 32x16 пикселей. Это тайлы. Каждый тайл имеет такой размер, что способен храниться во встроенном в ядре тайловом буфере. В этом буфере происходит отсечение невидимых поверхностей с 32-битной точностью, а видимые поверхности текстурируются и передаются во фреймбуфер. Сортировка полигонов, обработка пикселей и другие операции производятся в этом буфере, не выходя наружу и не используя ресурсов памяти. Все тайлы обрабатываются последовательно, чем достигается очень высокая производительность сортировки полигонов. Действительно, не имея T&L блока, KYRO способен обрабатывать до 20 MPoly/sec.
Таким образом, мы видим, что при тайловой архитектуре:
-
Не происходит лишних обращений к текстурной памяти, за счёт того, что текстурируются только видимые пиксели.
-
Не используется лишняя память под Z-buffer.
-
Все процессы производятся с 32-битной точностью, что исключает ошибку при наложении полупрозрачных текстур, а также при дизеринге.
Другой хорошей возможностью чипов, использующих тайловую архитектуру является распараллеливание работы на несколько видеочипов. То есть, теоретически можно создать видеокарту с двумя, четырьмя и более чипами KYRO, увеличив производительность как раз в два, или четыре раза, потому что благодаря своей архитектуре тайловые чипы очень хорошо масштабируются. И использование двух чипов даёт увеличение скорости почти в два раза.
Теперь посмотрим на другие возможности KYRO.
Начнём с 8-уровневого мультитекстурирования. KYRO может накладывать до 8 текстур на один пиксель. Конечно, 8 текстур накладываются не за один такт, но это даёт возможность использования эффекта Environment Mapped BumpMapping (EMBM). Причём, если в GeForce2 поддержка EMBM осуществлялась за счёт использования NSR-блока, то здесь EMBM поддерживается аппаратно.
Эффект полносценного сглаживания (FSAA) может сглаживать сцену с размером матрицы 2x и 4x. К возможностям сглаживания мы вернёмся в процессе тестирования.
Аппаратная компрессия текстур производится по методам DXTC и полностью поддерживается драйверами.
RAMDAC имеет частоту всего 270 МГц. Это уровень видеокарт 1998 года. Такая низкая частота непростительна для видеочипа 2000 года. И хотя есть возможность установить разрешение до 1920x1280x32 (при соответствующем объёме видеопамяти), небольшой выбор частот и сравнительно низкое качество картинки даст о себе знать.
После выхода KYRO ожидала тяжёлая судьба. Прежде всего, это было связано с проблемами работы на видеокартах с менее чем 64 мегабайтами памяти. Вторая проблема была в том, что производители, привыкшие к сильной руке nVidia не спешили создавать карты на KYRO. В результате ни один "брэнд" не стал выпускать видеокарты на KYRO, да и менее известные производители не рисковали начинать выпуск KYRO-based карт. Свою негативную роль играла плохая репутация PowerVR2 и нежелание программистов Img.Tec. и STM писать драйвера. Да и ценовая ниша видеокарт на KYRO не очень-то ясна. Вроде бы, карты подходят под определение "до 100$", но до последнего времени цена на KYRO составляла около 140$, что дороже, чем GeForce2 MX.
В результате нам известны только три видеокарты на KYRO:
STM Electronics KYRO, Inno3D Tornado 2000 и PowerColor EvilKYRO.
В этом обзоре мы рассмотрим видеокарту EvilKYRO от PowerColor.








