gamegpu     Search find 4120

 tg2 f2 lin2 in2 X icon 3 y2  p2 tik steam2

Riva TNT

1998 год. Третье поколение 3D акселераторов. Обязательные условия:поддержка мультитекстурирования, трилинейной фильтрации, высокая скоростьзаполнения, поддержка больших разрешений.

Riva TNT

Специалисты nVidia прекрасно понимали, что выиграть на рынке 3D акселераторов третьего поколения сможет только действительно качественный продукт. И чтобы выиграть, нужно будет хорошо побороться за звание лучшего. А бороться было с кем. По скорости на рынке господствует конфигурация из двух Voodoo2 в SLI режиме. По качеству в Direct3D - Matrox G200. Другие продукты, как, например, Permedia 2, Verite 2x00 имеют хорошую поддержку OpenGL. Кроме того, фирмы 3dfx, ATI Technologies Inc. и 3Dlabs анонсируют свои продукты, претендующие на звание акселераторов третьего поколения.Именно такая ситуация складывалась в мире 3D акселераторов. Но nVidia нашла правильное решение. RivaTNT - вот каким был её ответ.Технология TwinTexel, обеспечивающая присутствие двух текстурных модулей в одном чипе, 128 битный доступ к памяти, 128 битный конвейер рендеринга, поддержка AGP2x, OpenGL ICD, Direct3D версии 6.0

Характеристики Riva TNT

Наименование Riva TNT
Ядро NV4
Техпроцесс (мкм) 0,35
Транзисторов (млн) 7
Частота работы ядра 90
Частота работы памяти (DDR) 110
Шина и тип памяти SDR-128 bit
ПСП (Гб/с) 1,76
Пиксельных конвейеров 2
TMU на конвейер 1
Текстур за такт 2
Текстур за проход ?
Вершинных конвейеров нет
Pixel Shaders нет
Vertex Shaders нет
Fill Rate (Mpix/s) 180
Fill Rate (Mtex/s) 180
DirectX 6.0
Anti-Aliasing (Max) нет (?)
Анизотропная фильтрация (Max) нет (?)
Объем памяти 16 MB
Интерфейс AGP 2x / PCI
RAMDAC 250 MHz

Riva TNT - это абсолютно новый чип, а не доработка старого (как Riva 128ZX).

Новая технология Twin-Texel позволяла накладывать две текстуры на один пиксел за такт в режиме мультитекстурирования. Таким образом, можно было накладывать на пиксел текстуру и карту освещённости без потери скорости. Если приложение не использовало мультитекстурирование, Riva TNT накладывала одну текстуру на два пиксела за такт. Это означает, что в режиме мультитекстурирования скорость заполнения (fillrate) должна почти в два раза быть меньше, чем в обычном режиме. Однако, на практике при применении мультитекстурирования в приложениях скорость возрастает в среднем от 10 до 40 процентов. Так что возможность накладывать две текстуры за такт - лакомый кусочек, реализованый в TNT.

8-битный буфер шаблонов. С помощью этой функции можно было получать вполне реальные тени. По-настоящему пригодилась в играх Unreal и Quake III Arena. В последней игре засчёт 8-битного буфера шаблонов получались самые реальные тени из тех, что я видел в играх.

Z-Buffer разрядностью 16 и 24 бит. По сравнению с Riva 128ZX, где Z-Buffer был только 16 разрядный, значительно повышалось качество картинки.

Поддержка до 16 Мегабайт памяти. Позволяла устанавливать разрешения вплоть до 1920х1200.

32-битный рендеринг улучшал качество выводимой картинки

Пополигонный мипмаппинг в некоторых случаях улучшал качество картинки

Поддержка процедурных текстур. Достаточно новая возможность. Процедурные текстуры можно увидеть в Unreal, Quake 3 Arena. Они использовались для создания воды, энергетических полей и так далее. Довольно полезная вещь.

Поддержка Strips. Полигоны могут располагаться беспорядочно, а могут быть отсортированы в полосы. В этом случае у каждого полигона передаются данные только по одной вершине вместо трёх. Засчёт этого производительность обработки 25-пиксельных полигонов увеличивается почти в три(!) раза. Riva TNT поддерживала три типа фильтрации: Билинейная, Трилинейная и Анизотропная. Вот здесь нужно остановиться более подробно. 
Билинейную фильтрацию поддерживают все 3D чипы на сегодняшний день, так же было и в 1998 году. А вот с трилинейной фильтрацией у Riva TNT были проблемы. В то время было очень важно включать аппаратную поддержку трилинейной фильтрации в новые 3D чипы. Вот поэтому некоторые производители обманывали покупателей при помощи так называемой "аппроксимации", что в переводе означало приближение. Суть её заключалась в том, что фильтрации подвергаются только области перехода между MIP уровнями. Этот метод был очень эффективен по скорости, но никак не годился по качеству. Качество картинки при использовании трилинейной аппроксимации падало и выглядело хуже, чем при билинейной фильтрации. Но аппроксимация была не такой ресурсоёмкой, как честная трилинейка, поэтому при её включении скорость практически не падала. Так вот. В Riva TNT была реализована именно аппроксимация. Зачем? Чтобы можно было спокойно говорить о поддержке трилинейки в играх, предъявляя результаты и умалчивая о том, что это - аппроксимация. Честную трилинейную фильтрацию можно получить, отключив мультитекстурирование.

Riva TNT

Что касается поддержки DiME. Riva TNT не могла нормально работать с текстурами, хранящимися в системной памяти. До конца 1999 года большинству пользователей было невозможно это проверить, так как не было игр, поддерживающих большой объём текстур. В конце 1999 года в свет вышла игра Quake 3 Arena. Здесь на каждый уровень приходилось от 27 мегабайт текстур и больше. При включении максимальной детализации текстур, они не вмещались в локальную память видеокарты и подгружались из системной памяти. Вот здесь Riva TNT и показала свою немощность по работе с большими текстурами.

Что касается 2D части. Riva TNT унаследовала от Riva 128ZX 250 мегагерцовый RAMDAC. Следовательно, качество в 2D не должно было возрасти. Кроме того, в разрешениях выше 1024х768 было "замыливание" - то есть нечёткое изображение. Для тех, кто использовал Riva TNT для игр это было несущественно, но для офисных приложений - неприемлемо.
Riva TNT не имеет функции обратного преобразования рядов Фурье. Эта функция используется для декодирования DVD видео файлов. При этом разгружается центральный процессор и увеличивается качество. Но nVidia посчитала эту функцию лишней для своего продукта.
Что касается TV in/out, то Riva TNT имела NTSC и PAL TV выход, CCIR-656 порт видеозахвата, поддерживала все те же функции, что и Riva 128 ZX.
Поэтому покупать Riva TNT для 2D приложений и видео было невыгодно.

Тут, в отличие от Riva 128, придраться было не к чему. Riva TNT поставлялась с отличными драйверами, в зависимости от производителя, имеющими разные настройки. nVidia выпускала референсные драйвера для своего продукта с такой частотой, что вскоре "родные" драйверы от производителей видеокарт становились неактуальными и быстро устаревали. Почти все видеокарты на Riva TNT могли работать с референсными драйверами. В драйверах Detonator была увеличена производительность видеокарт. А начиная с версии 2.08 было заметно улучшено качество рендеринга. А вот что действительно интересно, так это тот факт, что в одной из версий драйверов nVidia отключила мультитекстурирование в 16 битном цвете, чтобы работу в этом режиме более медленной. Тогда на этом фоне переход в 32 битный цвет, где мультитекстурирование включено, сопровождался небольшим падением скорости, что было использовано nVidia в рекламной кампании. К счастью для пользователей, мультитекстурирование можно было включить, немного покопавшись в системном реестре. В последующих драйверах nVidia исправила всё на место.

Riva TNT

Что касается Direct3D, то Riva TNT поддерживала этот стандарт на высшем уровне. Никаких ошибок и сбоев. После разработки Riva TNT компания nVidia вошла в так называемый OpenGL клуб. Название точно не скажу, но туда принимают тех разработчиков, кто создаёт OpenGL хард и софт. Стоит ли после этого говорить о качественной поддержке OpenGL? Riva TNT могла быть использована не только для игр, но и для работы в OpenGL приложениях, таких как 3D Studio MAX.iva TNT, несомненно, стала лидером гонки 3-го поколения 3D акселераторов. Но одна особенность не давала спокойно спать многим пользователям, купившим себе Riva TNT. Дело в том, что заявленные первоначально характеристики Riva TNT были выше, чем у тех карт, которые продавались. Например, первоначально Fillrate обещали 250 MTexels/sec. Да и максимальную скорость обработки - 8 MPolys/sec. И памяти - 32 Мегабайта.

 

Комментарии (0)