Введение

RIVA 128, или "NV3" – графический процессор, разработанный Nvidia в 1997 году. Он стал первым, объединившим 3D-ускорение с традиционными 2D- и видеоускорением. Название является акронимом от Real time Interactive Video and Animation accelerator (ускоритель видео и анимации в реальном времени). RIVA 128 пришел на смену менее удачному ускорителю NV1 от Nvidia и стал первым продуктом, принесшим Nvidia широкую известность. Это также ознаменовало значительный поворот в технологической стратегии компании Nvidia.

Архитектура

RIVA 128 был разработан для рендеринга в соответствии со спецификациями Direct3D 5 и OpenGL API. Он был спроектирован для максимального ускорения Direct3D, в отличие от чипа NV1 от Nvidia. Чип NV1 был разработан для совершенно иного типа технологии рендеринга, называемой квадратичным текстурированием, которая не поддерживается Direct3D. Графический ускоритель состоит из 3,5 миллионов транзисторов, изготовленных по 5LM 350 нм техпроцессу SGS Thomson, и работает на частоте 100 МГц. RIVA 128 имеет однопиксельный конвейер, способный обрабатывать 1 пиксель за такт при выборке одной текстуры. Он рассчитан на вывод пикселей со скоростью 100 миллионов в секунду и 25 пиксельных треугольников со скоростью 1,5 миллиона в секунду. Также был реализован 32-битный аппаратный SVGA/VGA-ядро, соответствующее стандарту VESA. Аппаратное ускорение видео на чипе оптимизировано для MPEG 2, но не обеспечивает полной поддержки этого стандарта. Окончательный вывод изображения осуществляется через встроенный 206 МГц RAMDAC. RIVA 128 был одним из первых чипов AGP 2X, что давало ему маркетинговое преимущество, благодаря передовым технологиям интерфейса. Графический процессор был разработан на основе спецификации AGP от Intel, ориентированной на чипсет Intel 440LX для Pentium II. Nvidia разработала RIVA 128 с максимальным объемом памяти 4 МиБ, поскольку в то время это было наиболее экономически выгодным решением для потребительского 3D-ускорителя. Это было частично обусловлено возможностью чипа хранить текстуры во внешней системной памяти, как в конфигурациях PCI, так и AGP. Версия ZX была изготовлена компаниями SGS Thomson и TSMC и использует 8 МБ чипа памяти SGRAM от Samsung Electronics, работающего на частоте 125 МГц. Следующим крупным чипом от Nvidia станет RIVA TNT.

Качество изображения

На момент выхода RIVA 128, 3Dfx Voodoo Graphics прочно зарекомендовала себя как эталон 3D-аппаратного обеспечения, с которым сравнивались все новинки. Voodoo была первой 3D-игровой видеокартой, предлагавшей исключительную производительность и качество изображения. RIVA 128 подвергалась критике за более низкое качество рендеринга (по сравнению с Voodoo) и ошибки отображения. В первых версиях драйверов RIVA 128 использовалось мипмэппинг на полигон, вместо гораздо более качественного, но и более требовательного, мипмэппинга на пиксель. Это приводило к тому, что различные уровни детализации текстур "выскакивали" на место по мере перемещения игрока в игре и приближения к каждому полигону, вместо плавного, постепенного перехода на пиксель. Позже Nvidia выпустила драйверы, поддерживающие режим мипмэппинга на пиксель. Еще одной проблемой с текстурированием была автоматическая генерация мипмэпов. Хотя это улучшало визуальное качество и производительность в играх, не использующих мипмэпы, это также вызывало непредвиденные проблемы, поскольку заставляло игры рендериться не так, как они были запрограммированы. Билинейная фильтрация NV3 была на самом деле "более чёткой", чем у 3Dfx Voodoo Graphics. Однако, в отличие от Voodoo, которая размывала текстуры, NV3 добавляла лёгкий шум из-за алгоритма фильтрации с меньшей точностью. Также наблюдались проблемы с заметными швами между полигонами. Хотя первоначальные драйверы и демонстрировали эти проблемы с качеством изображения, более поздние версии обеспечивали качество, сопоставимое с Voodoo Graphics. Кроме того, поскольку RIVA 128 могла работать с разрешениями выше 640×480, она могла обеспечивать качество, превосходящее Voodoo Graphics, как видно на скриншоте Quake II выше. Финальные драйверы для RIVA 128 поддерживают мипмэппинг на пиксель, сглаживание всей сцены (суперсэмплинг) и ряд настроек для оптимизации качества и производительности.

Драйверы и API

Драйверы на протяжении большей части жизненного цикла карты были довольно сырыми. Помимо упомянутых проблем с Direct3D, карта не обладала хорошей поддержкой OpenGL. С RIVA 128 Nvidia начала работу над обеспечением высококачественной поддержки OpenGL, что в конечном итоге позволило плате стать производительной в OpenGL. Одним из главных недостатков для Nvidia было то, что многие игры во время существования RIVA 128 использовали проприетарный API Glide от 3Dfx. Юридически использовать Glide API 3Dfx могли только видеокарты 3Dfx. Как и конкурирующая ATI Rage Pro, RIVA 128 так и не смогла аппаратно ускорить популярный движок Unreal Engine в режиме Direct3D из-за отсутствия необходимых аппаратных возможностей. Однако можно было использовать OpenGL-рендерер движка, но, к сожалению, поддержка OpenGL в оригинальном Unreal Engine была медленной и содержала ошибки. Производительность в Quake III Arena, использующей более продвинутый движок, чем Unreal Engine 1, была лучше, поскольку движок изначально разрабатывался для OpenGL. Финальные драйверы RIVA 128 для Windows 9x от Nvidia включают в себя полноценный OpenGL-драйвер. Однако для его работы необходимо установить 16-битную глубину цвета рабочего стола в Windows. Драйвер для RIVA 128 также включен в Windows 2000 и XP, но не поддерживает 3D-ускорение. Бета-драйвер с поддержкой OpenGL был однажды опубликован Nvidia, но впоследствии отменен, и на данный момент на сайте Nvidia отсутствует драйвер для RIVA 128 под Windows 2000. Ни бета-драйвер, ни драйверы, поставляемые с Windows 2000/XP, не поддерживают Direct3D.

Выступление

В то время RIVA 128 была одной из первых карт, объединяющих 2D и 3D графику, способных составить конкуренцию Voodoo Graphics. 2D-возможности RIVA 128 считались впечатляющими для того времени и были конкурентоспособны с высококлассными 2D-графическими картами как по качеству, так и по производительности.