RIVA 128 , или " NV3 ", был потребительским графическим процессором, созданным в 1997 году компанией Nvidia . Он был первым, кто интегрировал 3D-ускорение в дополнение к традиционному 2D- и видеоускорению. Его название является аббревиатурой от Real - time Interactive V ideo and Animation accelerator . [2]
RIVA 128 последовал за менее успешным ускорителем Nvidia " NV1 " и стал первым продуктом, получившим широкое признание Nvidia. Это также стало серьезным изменением в технологическом направлении Nvidia.
К 1996 году Nvidia оказалась в плохом финансовом положении. Изначально она использовала совершенно другой тип технологии рендеринга, называемый квадратичным текстурным отображением, в своем первом продукте NV1. [3] Затем компания потратила год на попытки использовать свою худшую технологию для создания графического чипа для игровой консоли Dreamcast от Sega . [4] В конце концов Sega пришлось закрыть проект Nvidia и сменить поставщика, но ее убедили сохранить Nvidia, вложив в нее 5 миллионов долларов инвестиций. [4]
Затем Nvidia уволила половину из 100 своих сотрудников и сосредоточила оставшиеся ресурсы на разработке RIVA 128. [3] К моменту выпуска RIVA 128 в августе 1997 года у Nvidia оставалось всего лишь одного месяца заработной платы. [3] Эта крайне отчаянная ситуация привела к тому, что и по сей день остается «неофициальным девизом компании»: «Наша компания находится в тридцати днях от банкротства». [3]
RIVA 128 был создан для рендеринга в рамках спецификаций Direct3D 5 и OpenGL API . Он был разработан для ускорения Direct3D в максимально возможной степени, в отличие от чипа NV1 от Nvidia. Чип NV1 был разработан для совершенно другого типа технологии рендеринга, называемого квадратичным текстурным отображением, которое не поддерживается Direct3D. [3] [4] [5]
Графический ускоритель состоит из 3,5 миллионов транзисторов, построенных на технологическом процессе SGS-Thomson 5LM 350 нм , и работает на частоте 100 МГц . [2] [6] [7] RIVA 128 имеет один пиксельный конвейер, способный обрабатывать 1 пиксель за такт при выборке одной текстуры. Он рассчитан на вывод пикселей со скоростью 100 миллионов в секунду и 25-пиксельных треугольников со скоростью 1,5 миллиона в секунду. [2] Для кэшей пикселей и вершин используется 12 КБ встроенной памяти. [2] Чип был ограничен 16-битным ( Highcolor ) форматом пикселей при выполнении 3D-ускорения и 16-битным Z-буфером .
2D-ускоритель в RIVA 128 имеет ширину 128 бит и также работает на частоте 100 МГц. В этой «быстрой и широкой» конфигурации, как ее назвала Nvidia, RIVA 128 показала превосходные результаты для ускорения графического интерфейса по сравнению с конкурентами. [8] Также было реализовано 32-битное аппаратное ядро SVGA / VGA , совместимое с VESA . Видеоускорение на плате чипа оптимизировано для MPEG-2, но не имеет полного ускорения этого стандарта. Окончательный вывод изображения направляется через интегрированный RAMDAC 206 МГц . [2] RIVA 128 имел преимущество в том, что был комбинированным 2D/3D-графическим чипом, в отличие от Voodoo Graphics. Это означало, что компьютеру не требовалась отдельная 2D-карта для вывода за пределами 3D-приложений. Он также позволял выполнять 3D-рендеринг в окне. Возможность создания системы с одной видеокартой, которая при этом оставалась бы функционально полной на тот момент, сделала RIVA 128 недорогим высокопроизводительным решением.
Nvidia оснастила RIVA 128 4 МБ SGRAM , новой для того времени технологией памяти, работающей на частоте 100 МГц и подключенной к графическому процессору через 128-битную шину памяти . [2] Это обеспечивает пропускную способность памяти 1,60 гигабайт в секунду. Память использовалась в унифицированной архитектуре памяти , которая разделяла весь пул RAM как с буфером кадров, так и с хранилищем текстур. Главным преимуществом этого, по сравнению с раздельным дизайном, таким как Voodoo Graphics и Voodoo² , была поддержка 3D-разрешений 800×600 и 960×720, что выше, чем 640×480 у Voodoo. [9]
В начале 1998 года Nvidia выпустила обновленную версию под названием RIVA 128 ZX . Этот обновленный дизайн NV3 увеличил поддержку памяти до 8 МБ и увеличил частоту RAMDAC до 250 МГц. Эти дополнения позволили RIVA 128 ZX поддерживать более высокие разрешения и частоты обновления . [10] Версия ZX была изготовлена SGS-Thomson и TSMC и использует чип памяти SGRAM объемом 8 МБ , работающий на частоте 125 МГц, от Samsung Electronics . [6] [11]
RIVA 128 имела интерфейс шины AGP 1X , тогда как версия ZX была одной из ранних частей AGP 2X, что давало ей больше маркетингового простора, поскольку она находилась на переднем крае технологии интерфейса. Графический процессор был построен на основе спецификации Intel AGP, нацеленной на чипсет Intel 440LX для Pentium II . Nvidia разработала RIVA 128 с максимальным объемом памяти 4 МБ, поскольку в то время это был оптимальный по стоимости подход для потребительского 3D-ускорителя. [12] Это было отчасти из-за способности чипа хранить текстуры в оперативной памяти вне экрана как в конфигурациях PCI , так и AGP. [12]
Следующим крупным чипом от Nvidia станет RIVA TNT . [13] [14]
На момент выпуска RIVA 128 3Dfx Voodoo Graphics прочно зарекомендовал себя как 3D-аппаратный эталон, с которым сравнивались все новички. Voodoo был первым 3D-игровым ускорителем, который предлагал исключительную производительность и качество. RIVA 128 презирали за его низкое качество рендеринга (по сравнению с Voodoo) и ошибки рендеринга. [5]
С первоначальными драйверами RIVA 128 использовала пополигональное MIP-отображение вместо гораздо более качественного, но и более требовательного попиксельного. [5] Это приводило к тому, что различные уровни детализации текстур «вскакивали» на место, когда игрок продвигался по игре и приближался к каждому полигону, вместо того, чтобы обеспечивать плавный, попиксельный переход. В конечном итоге Nvidia выпустила драйверы, которые допускали попиксельный режим. Еще одной проблемой с текстурированием карты было использование ею автоматизированной генерации MIP-отображений. Хотя это улучшает визуальное качество и производительность в играх без MIP-отображений, это также вызывало непредвиденные проблемы, поскольку заставляло игры выполнять рендеринг таким образом, на который они не были запрограммированы.
Билинейная фильтрация NV3 была на самом деле "резче", чем у 3Dfx Voodoo Graphics. Но, хотя она не размывала текстуры так сильно, как Voodoo, она вместо этого добавляла легкий шум к текстурам из-за алгоритма фильтрации с более низкой точностью. Также были проблемы с заметными швами между полигонами.
Хотя первоначальные драйверы действительно имели эти проблемы с качеством изображения, более поздние драйверы предлагали качество изображения, возможно, соответствующее Voodoo Graphics. Кроме того, поскольку RIVA 128 может выполнять рендеринг с разрешением выше 640×480, карта может предложить качество, превосходящее Voodoo Graphics, как показано на скриншоте Quake II выше . Окончательные драйверы, выпущенные для RIVA 128, поддерживают попиксельное MIP-отображение, полноэкранное сглаживание ( суперсэмплинг ) и ряд опций для тонкой настройки функций с целью оптимизации качества и производительности.
Драйверы были, в течение значительной части срока службы карты, довольно грубыми. Были не только очевидны вышеупомянутые проблемы Direct3D, но и карта не имела хорошей поддержки OpenGL. [8] С RIVA 128, Nvidia начала свои поиски высококачественной поддержки OpenGL, в конечном итоге приведя к тому, что плата стала способным исполнителем OpenGL. Одним из основных недостатков для Nvidia было то, что многие игры во время срока службы RIVA 128 использовали проприетарный API Glide от 3Dfx . Юридически только карты 3Dfx могли использовать API Glide от 3Dfx.
Как и конкурирующий ATI Rage Pro , RIVA 128 так и не смогла ускорить популярный Unreal Engine в режиме Direct3D из-за отсутствия аппаратных функций. Однако можно было использовать рендерер OpenGL движка, но, к сожалению, поддержка OpenGL была довольно медленной и глючной в оригинальном Unreal Engine. Производительность в Quake III Arena , игре, использующей движок более продвинутый, чем Unreal Engine 1, была лучше, поскольку движок был разработан для OpenGL. [ необходима цитата ]
Финальные драйверы RIVA 128 от Nvidia для Windows 9x включают в себя полный драйвер OpenGL. Однако для работы этого драйвера Windows должна быть настроена на глубину цвета рабочего стола 16 бит.
Драйвер для RIVA 128 также включен в Windows 2000 и XP, но не имеет поддержки 3D. Бета-драйвер с поддержкой OpenGL когда-то был опубликован Nvidia, но позже был отменен, и на сегодняшний день на сайте драйверов Nvidia нет драйвера Windows 2000 для RIVA 128. Ни бета-драйвер, ни те, что поставляются с Windows 2000/XP, не поддерживают Direct3D.
В то время RIVA 128 была одной из первых комбинированных 2D/3D-карт, которая могла соперничать с Voodoo Graphics. 2D-возможности RIVA 128 были впечатляющими для своего времени и могли конкурировать даже с высококлассными 2D-видеокартами как по качеству, так и по производительности. [8] [9]