История видеокарт

Опытные пользователи ПК знают, что такое видеокарты и как они работают. Мы же расскажем, с чего они начинались, как совершенствовались и к чему в конце концов пришли.

Новый виток борьбы

 

Лавинообразный рост рынка Зd-игр и 3D-видеоплат заставил производителей ускорить разработку все более и более мощных моделей. Знаковым стал 1998 год, подаривший геймерам адаптер Voodoo2 с восемью или двенадцатью мегабайтами памяти EDO DRAM и рабочей частотой до 100 МГц.

Архитектурно Voodoo2 повторял своего предшественника, хотя некоторые узлы были существенно переработаны. Во-первых, адаптер обрел второй текстурный блок, что позволило накладывать по две текстуры за один проход рендеринга и тем самым заметно повысило производительность. Во-вторых, он получил возможность выводить картинку разрешением 800×600 (при 12 Мб видеопамяти – 1024×768 пикселов) с 1б-битным цветом. И, наконец, конкурентов просто сразила возможность совместной работы двух Voodoo2 в режиме SLI. Стоила такая связка безумных денег, зато ни NVIDIA, ни ATI, ни Rendition ничего подобного предложить не могли: производительность этого решения была беспрецедентной.
Вот такую громоздкую конструкцию должен был разместить в своем системном блоке фанат «монстров» для получения рекордной производительности.
В 1998 году NVIDIA не удалось догнать главного конкурента, тем не менее появившаяся тогда карта NV4 (Riva TNT) заложила основы для будущего успеха. Всего за два года удалось разработать совершенно новую архитектуру. RivaTNT имела два конвейера рендеринга и, как Voodoo2, умела накладывать две текстуры за один проход. Объем памяти SDRAM составлял 16 Мб. а тактовая частота достигала 90 МГц.
В отличие от Voodoo2, Riva TNT могла выполнять рендеринг в 32-битном цвете. Поначалу ни разработчики, ни потребители не оценили этого новшества – производительность при переходе в этот режим падала почти вдвое. Тем не менее начало было положено, и уже не за горами были модели, обеспечивавшие комфортный рендеринг в 32-битном цвете. Также Riva TNT могла работать с текстурами размером 1024×1024 пиксела (тогда как для Voodoo2 пределом было 256×256 пикселов).
Помимо отставания в производительности платам NVIDIA сильно мешало широкое распространение 3d-библиотеки 3Dfx – Glide. Этот барьер еще предстояло сломать, в чем немалую помощь оказала Microsoft, агрессивно продвигавшая свой Direct3D.
ATI в тот год выпустила, мягко говоря, бледный продукт – 3D Rage Pro, единственным преимуществом которого являлась традиционная для акселераторов ATI улучшенная поддержка обработки сжатого видеопотока DVD. По производительности в 3D новинка была на уровне ускорителей предыдущего поколения Riva 128 и Voodoo Graphics, обладая к тому же весьма условной поддержкой OpenGL. Все это привело к тому, что 3D Rage Pro заняла нишу качественного 20-адаптера и была практически проигнорирована геймерами.
Из ряда многочисленных производителей 20-видеокарт выделилась еще одна компания – Matrox, выпустившая в 1998 году 2D/3Dакселератор G200. У нее это был первый чип с поддержкой всех необходимых функций 3D-рендеринга. В целом он оказался весьма удачным, напрямую конкурируя с NVIDIA Riva TNT по производительности.
Помимо свойственного Matrox превосходного 20-качества, G200 обеспечивал отличное качество 3D-рендеринга в 16- и 32-битном цвете. Чип работал на частотах от 84 до 90 МГц и был оснащен сразу двумя 64-битными шинами данных. По сравнению с более традиционной одной 128-битной шиной решение от Matrox обеспечивало заметно меньшую латентность шины при той же пропускной способности. Кроме того, в G200 была реализована технология DIME, то ссть видеоадаптер мог использовать часть системной памяти для хранения текстур большого формата (до 2048×2048 пикселов), что позволило ограничить объем видеопамяти 8 Мб и тем самым удешевить продукт.

 

Дворцовый переворот

К концу 90-х годов рынок был поделен между 3Dfx, безоговорочно господствовавшей на нем, NVIDIA, засидевшейся на вторых ролях, и толпой статистов, среди которых подавали надежды ATI, Matrox и S3. Решающая схватка конкурентов пришлась на 1999 год.
Начало года ознаменовалось анонсами Voodoo3, Riva TNT2, G400 и Rage 128. 3Dfx по-прежнему полагалась на грубую силу – ее новинки могли работать на частотах до 183 МГц и теоретически поддерживали SLI (правда, адаптеры третьего поколения с поддержкой SLI так и не были выпущены). Но вот с новыми технологиями дела у компании обстояли не слишком гладко: платы получили возможности 20-адаптеров, но при этом Voodoo3 все так же имели единственный конвейер рендеринга, не поддерживали 32-битный цвет и большие текстуры.
NVIDIA ударила в ответ чипом NV5, который устанавливался в адаптеры семейства TNT2. Компания сделала упор на технологические преимущества. Так, новая видеокарта стала первой, поддерживающей AGP 4х, обеспечивала вполне приемлемую скорость рендеринга в 32-битном цвете и работала на частотах до 150 МГц (память до 183 МГц). Во многих играх того времени TNT2 вполне могла потягаться с Voodoo3 скоростью и красотой картинки. Так что трон 3Dfx покачнулся…
Matrox сумела пробиться на 3D-Олимп, выпустив интереснейший чип G400. Собственные оригинальные технологии компании, появившиеся в G200, были развиты; кроме того, было добавлено несколько новых. Так, чип получил две 128-битные шины данных и тактовую частоту 125-150 МГц, память работала на частоте 166-200 МГц и имела 128-битную шину. Любопытным новшеством являлась аппаратная поддержка эффектов рельефности текстур (Environment mapped Bump mapping, EMBM), обеспечивавшая совершенно иной уровень реалистичности графики.
И наконец, впервые в адаптерах потребительского класса появилась поддержка двухмониторных конфигураций. Именно G-J00 впервые дал пользователям возможность работать за двумя мониторами. Все это, в сочетании с впечатляющей производительностью, позволило G400 на какой-то срок вырваться вперед, обогнав конкурентов. Но ложкой дегтя, портившей бочку меда, выступила плохая поддержка OpenGL. Большинство геймеров проигнорировали новинку, так как многие игры тех лет Direct3D просто не поддерживали, а в OpenGL плата Matrox G400 серьезно тормозила.

nVIDIAGeForce-256

ATI к тому времени еще не доросла до первого эшелона, тем не менее ее новый Rage 128 привлек внимание геймеров. Будучи дешевле продуктов NVIDIA и 3Dfx, он обеспечивал неплохую скорость рендеринга в 32-битном цвете, обгоняя в этом режиме RivaTNT. Наконец-то чип от ATI получил полную поддержку OpenGL, да и DirectJD разработчики игр признали. Жизнь для ATI налаживалась.
Но события 1999 года этим не исчерпываются. К его концу наметился очередной виток противостояния. 3Dfx заготовила новейший чип VSA-100, призванный устранить технологическое отставание от конкурентов, NVIDIA разрабатывала NV10, «чип с сюрпризом», ATI обещала наконец-то прорваться в первый эшелон с новым Rage Fury МАХХ, а S3 громогласно анонсировала Savage 2000, который был просто обязан вывести се на передовые позиции. Какими козырями обладала каждая компания?
В VSA-100 была реализована технология T-Buffer, обеспечивающая постобработку изображения с использованием кинематографических спецэффектов. Полноэкранное сглаживание (Full-scene Anti-aliasing), глубина резкости (Depth Of Field), размазывание движущихся объектов (Motion Blur), мягкие тени (Soft Shadows) были призваны кардинально улучшить привлекательность картинки без заметного падения производительности.
Козырем NVIDIA была технология расчета трансформации и освещения (Transform And Lighting. T&L). Благодаря ей видеоадаптер получал возможность снять с центрального процессора часть задач по расчету вершин треугольников. что обещало резкий прирост производительности в новых играх.
ATI Rage Fury МАХХ должен был обойти всех конкурентов за счет банального удвоения мощности – видеокарта состояла из двух адаптеров Rage 128 Pro. размещенных на одной плате и формирующих кадры по очереди. Цена устройства обещала быть заоблачной.
S3 Savage 2000 также обладал блоком T&L, имел передовую технологию сжатия текстур и должен был стать дешевой высокотехнологичной альтернативой Voodoo3, потеснив продукты NVIDIA.

Реальность спутала все карты. 3Dfx не смогла обеспечить своевременный выход адаптеров на VSA-100. ee Voodoo-}, Voodoo5 и Voodoo6 появились на рынке лишь летом 2000 года, причем к тому времени NVIDIA успела выпустить NV15, с которым не мог поспорить даже топовый Voodoo6. Одночиповые Voodoo4 и Voodoo5 изрядно уступали конкурентам но производительности, а двухчиповые и четырехчиповые Voodoo5 стоили дорого и сильно нагревались. Это было мощнейшим ударом по 3Dfx, еще недавно правившей бал на рынке 3D-ускорителей. Ее звезда закатилась, что незамедлительно почуяли кредиторы.
S3 выпустила свой Savage 2000 лишь с небольшим опозданием. На первый взгляд все обещания оказались правдой: T&L и сжатие текстур действительно работали и обеспечивали прирост производительности при наличии поддержки со стороны приложения. Вот только в отсутствие таковой адаптер заметно проигрывал конкурентам, а S3 давно уже не была ориентиром для производителей игр. Кроме того, удачный в целом продукт подкосили проблемы с драйверами, которые компания так и не смогла довести до ума и низкая производительность блока T&L по сравнению с изделиями конкурентов. Тем не менее, технологией сжатия текстур S3TC заинтересовалась Microsoft и лицензировала ее под маркой DXTC. Потому, начиная с DirectX 6, видеоадаптеры всех производителей получили эту технологию сжатия текстур.
Продукт ATI оказался удачным во многих отношениях, но слишком дорогим. Кроме того, написать драйвер для такого спаренного решения оказалось просто: программисты ATI доделывали его еще несколько месяцев после выхода адаптера.
А вот чип от NVIDIA – выстрелил. Выпущенный раньше продуктов конкурентов, адаптер GeForce 256 опережал все прочие акселератеры, обладая при этом высочайшей функциональностью. NV10 имел уже четыре конвейера рендеринга, работал на частоте 120 МГц и оснащался 32 Мб памяти SDK AM (с 2000 года DDRSDRAM), работающей на частоте 166 МГц при 128-битной шине. Кроме того, не стоит забывать пресловутый T&L, поддержкой которого постепенно стали обзаводиться новейшие игры.
А что же сделала находившаяся в зените славы компания Matrox? Увы, она не выпустила ровным счетом ничего. Уже тогда сформировавшийся рыночный принцип появления нового продукта каждые пол года компания Matrox проигнорировала. Ее в целом удачный G400 не мог на равных соперничать с GeForce и, ввиду низкой производительности в OpenGL и отсутствия модногоT&L, ушел в разряд нишевых продуктов, оставаясь востребованным любителями работать и играть на двух мониторах сразу. Сказалось отсутствие технологического задела: в активе у Matrox не осталось никаких новых идей.

Злейшие друзья

Казалось бы, NVIDIA пришло время почивать на лаврах. В 2000 году она выкупила остатки обанкротившейся 3Dfx вместе с перспективными разработками и ценными сотрудниками. Чип NV15, устанавливаемый в адаптеры GeForce2, получился хорошим апгрейдом NV10. Бюджетные же «порезанные* версии чипов NVIDIA и вовсе заполонили рынок, основательно потеснив производителей третьего эшелона.
И тут, как это часто бывает, ближайший конкурент преподнес сюрприз: показал NVIDIA, что не стоит расслабляться, заняв позицию лидера. Вышедший в июне 2000 года ATI Radeon обладал 64 Мб памяти DDR SDRAM на 128-битной шине и работал на тактовой частоте 183 МГц. Подобно GeForce 256, новинка от ATI была оснащена блоком T&L и наглядно продемонстрировала, что никакого технологического разрыва между двумя компаниями и в помине нет. При всем при том Radeon был еще и дешевле GeForce.
Одновременно с этими событиями свой ход сделала и компания Matrox. Свежий чип G450 представлял собой усовершенствованный G400. Он был выполнен по новым технологическим нормам (180 нм вместо 250 нм у G400) и получил более быструю DDR-память, но уже на 64-разрядной шине (то есть скорость обмена с памятью фактически осталась на прежнем уровне). Теоретически смена техпроцесса позволяет повысить тактовые частоты чипа, но в случае G450 этого почему-то не произошло. В целом G450 стал разочарованием для геймеров: стало ясно, что свой прорыв с G400 Matrox развить не смогла и угнаться за конкурентами ей не под силу.

Эпоха шейдеров

 

В 2001 году в игровой 3D-графике наметился очередной прорыв. На рынке появился новейший чип от NVIDIA – NV20, на основе которого выпускались платы серии GeForce3. По производительности новинка не слишком опережала GeForce2, зато ее выход совпал с появлением DirectX 8.0, который стандартизировал вершинные и пиксельные шейдеры версии 1.0. Физически шейдерные блоки были и BGeForce2, но без поддержки со стороны графических библиотек в играх они никак не использовались. А вот игры, рассчитанные на работу с DirectX 8.0, демонстрировали на GeForce3 невероятные графические красоты.

шейдеры пример

Ответный ход от ATI был неожиданно сильным. Вместо того чтобы идти в кильватере у NVIDIA, канадцы решили обогнать конкурента. Новый чип ATI R200 поддерживал шейдеры версии 1.4, входившие в состав DirectX 8.1. Кроме того, в Radeon появилась аппаратная тесселяция, позволявшая чипу самостоятельно усложнять модели объектов.
Реакцией NVIDIA стало… отсутствие всякой реакции. Руководство компании рассуждало вполне здраво: разработчики игр вряд ли станут тратить деньги на технологии, поддерживаемые только картами от ATI. Таким образом, гнаться за наглым конкурентом NVIDIA не стала и следующим ее флагманским чипом стал V25 (GeForce4Ti), не обладавший поддержкой тесселяции и отставший от Radeon по версии шейдеров. И надо сказать, в какой-то степени расчет оправдался: корона технологического лидера ATI не слишком стимулировала разработчиков игр поддерживать шейдеры новых версий и TruForm. Передовые функции оказались почти не востребованы. NVIDIA пришлось слегка потесниться, но до вторых ролей она так и не опустилась, втихую подготавливая новые, сокрушительные удары по ATI.
Собственно говоря, с 2001 года и начинается новейшая история видеоадаптеров, история, которую пишут «зеленые» (NVIDIA) и «красные» (ATI), – и приобретение AMD последней ничего не изменило. За эти десять лет сменилось несколько поколений графических процессоров и той, и другой компании, они давно растеряли традиционные текстурные и геометрические блоки, превратившись в наборы из тысяч свободно программируемых ядер, но пальма первенства по-прежнему переходит из рук в руки.
В борьбе, не затихающей ни на минуту, рождаются все новые и новые технологии, рушатся очередные ценовые барьеры, и жаль только, что никто третий уже не сможет вклиниться в этот слаженный дуэт.

 

ПЛАВНЫЕ ФОРМЫ TRUFORM

Возможности бюджетных карт разительно отличаются от возможностей топовых. Особенно это касается количества треугольников в одном кадре – чем их больше, тем более мощный видеоадаптер требуется для плавного рендеринга. Что же делать разработчикам игр? Создавать несколько комплектов моделей разной степени детализации для видеокарт разного уровня? Так они обычно и поступают, но ATI решила упростить им жизнь с помощью технологии TruForm.
Графический чип, поддерживающий TruForm, способен преобразовывать полигональные поверхности моделей в криволинейные и обратно в полигональные, но уже состоящие из большего числа полигонов. В результате поверхности модели становятся гораздо более плавными, чем задумал ее создатель.
Все бы хорошо, но для корректной работы технология требует специальных маркеров, указывающих, как можно усложнять поверхности модели. В их отсутствие не избежать странных артефактов: кубов, преобразованных в шары, брусков, превратившихся в цилиндры и т.д. Увы, без поддержки разработчика игры обойтись не получится.

 

ТАКИЕ РАЗНЫЕ ШЕЙДЕРЫ

Каждый, кто интересуется видеоадаптерами, слышал про шейдеры и шейдерные процессоры. Разберемся, что это такое и зачем они нужны.
Шейдер (от англ. shader) представляет собой мини-программу (процедуру), описывающую параметры объекта. Шейдер может определять, как отражается, поглощается и рассеивается свет на поверхности, какой текстурой обладает поверхность, ее прозрачность и затенение и многое другое. Кроме того, эти параметры могут изменяться во времени (в качестве примера можно взять шейдер, описывающий рябь на воде). Исполняется эта программа на специальном процессоре, коих в современном графическом чипе очень много.
Существует несколько видов шейдеров, радикально различающихся по функциям.
? Вершинный шейдер описывает параметры вершин треугольников и может быть использован для самых разнообразных геометрических преобразований (к примеру, внесение перспективного искажения в объект) и наложения освещения.
? Пиксельный шейдер служит для обработки пикселов изображения и позволяет оперировать цветом, глубиной и координатами текстуры. С помощью пиксельных шейдеров можно создавать объекты, не состоящие из полигонов, – именно так во многих играх реализованы волосы персонажей.
? Геометрический шейдер имеет дело с примитивами, состоящими из нескольких вершин (например, линия, треугольник), и позволяет процессору на лету создавать новые объекты, добавлять детали к готовым моделям, создавать отдельные движущиеся частицы. Наглядным примером применения геометрических шейдеров являются погодные эффекты, такие как снег и дождь.

? Физический шейдер оперирует физическими свойствами объекта и позволяет рассчитывать в реальном времени изменения его геометрии под действием различных физических явлений (к примеру, развивающийся на ветру плащ героя, сминаемый лист бумаги, мнущийся при столкновении со стеной кузов автомобиля).
Появление геометрических шейдеров полностью изменило архитектуру графических чипов: конвейеры из специализированных блоков уступили место шейдерным процессорам, которые могут выполнять самые различные функции 3D-рендеринга с одинаковой эффективностью. Подобными чипами были оснащены ноутбуки acer aspire. Такая архитектура позволяет крайне гибко распоряжаться вычислительными ресурсами графического процессора, выделяя больше шейдерных процессоров на те стадии, на которые приходится наибольшая нагрузка при рендеринге сцены. Мало того, шейдерные процессоры можно использовать не только для графических, но и, скажем, для научных расчетов – в частности, для этих целей применяется технология NVIDIA CUDA.

 

БЛЕСК И НИЩЕТА BITBOYS

В истории видеоадаптеров особняком стоит нашумевшая когда-то финская компания BitBoys Оу. Вынырнув из ниоткуда в конце 90-х годов, красноречивые финны на протяжении нескольких лет поражали журналистов фантастическими цифрами в анонсах все более быстрых и технологически продвинутых графических чипов. Все, что умели конкуренты, умели и BitBoys, при этом их чипы работали гораздо быстрее. Есть только один нюанс – никто эти чипы так и не увидел. Тем не менее были ли продукты «финских сказочников», как прозвали их разочарованные геймеры, фикцией или они имели все шансы воплотиться в реальности – вопрос непростой. Попробуем разобраться.
Группа молодых талантливых программистов, известная на демо-сцене как Future Crew, к 1991 году достаточно повзрослела, чтобы перейти к более серьезным занятиям, нежели создание демо (программ, демонстрирующих чудеса 3D-графики, занимая при этом считанные килобайты). Созданная ими BitBoys поначалу зарабатывала на программировании для разнообразных компаний, но вскоре занялась разработкой чипов. Не понаслышке знавшие, что такое 3D-графика, основатели BitBoys очень рано, еще до появления 3Dfx, осознали перспективность 3D-акселераторов и предложили свои идеи TriTech.
TriTech не пришлось долго уламывать: вскоре был подписан контракт на создание графического чипа, обладавшего функциями 3D-ускорения. Видеоадаптер, выход которого намечался на 1996 год, получил название TriTech Pyramid3D и имел набор функций, для того времени совершенно невиданных. Так, чип должен был поддерживать мультитекстурирование (то есть наложение двух текстур за один проход), объемные текстуры (EMBMI, программируемый геометрический движок, программируемый пиксельный конвейер, рендеринг в режиме до 1600×1200 пикселов с 24-битным цветом и текстуры размером до 1024×1024 точек.

К сожалению, чип не был готов к сроку, вышел он лишь в 1997 году, а к тому времени TriTech обанкротилась, будучи разоренной исками за нарушенные при выпуске аудиоадаптеров патенты. Выпускать Pyramid3D стало не на что, и свет увидело лишь несколько вполне работоспособных прототипов.
Печальная судьба TriTech не стала катастрофой для BitBoys: Pyramid3D работал, теперь было что показывать потенциальным заказчикам, а технологию объемных текстур лицензировала Matrox. Однако финны не стали полагаться на партнеров, а решили создать новый чип самостоятельно. И взялись рассылать пресс-релизы, один фантастичнее другого.
BitBoys Glaze3D был анонсирован в 1999 году и по спецификациям радикально превосходил всех конкурентов. Основным ноу-хау финских разработчиков была встроенная в чип очень быстрая память объемом 9 Мб, использующаяся для буфера кадров (то есть для хранения отрендеренной картинки, выводимой на экран). Текстуры при этом планировалось держать в более традиционной видеопамяти SDRAM, размещенной на плате. Функции T&L и SLI должны были быть реализованы в отдельном чипе Thor, выпуск которого был обещан чуть позже.
Шли месяцы, a Glaze3D все не выходил. Конкуренты безостановочно выпускали не столь передовые, зато абсолютно реальные чипы, и вскоре спецификации Glaze3D были обновлены – на бумаге он стал еще быстрее. Так, в очередном пресс-релизе отмечалось, что в Quake 3 адаптер будет обеспечивать рендеринг со скоростью до 200 кадр./с при максимальном качестве картинки. Все технологии конкурентов сразу появлялись в характеристиках Glaze3D, что порождало у публики подозрения в фиктивности чипа.
Через год, осознав, что дальше исправлять спецификации Glaze3D – значит, все больше выставлять себя на посмешище, BitBoys официально похоронила этот чип и объявила о скором выходе следующего, названного Ахе (для адаптера Avalanche3D). Все то же самое, но лучше-так, объем встроенной вчип памяти возрос до 12 Мб, ширина шины встроенной памяти увеличилась до 1024 разрядов, появилась поддержка вершинных шейдеров и возможность совместной работы двух чипов. Очень скоро Ахе повторил судьбу Glaze3D BitBoys объявила о том, что концентрируется на разработке нового чипа Hammer, который, кроме прочих усовершенствований, должен был уметь накладывать уже четыре текстуры за один проход. Журналисты и геймеры откровенно потешались над строителями воздушных замков из Финляндии…
В конце 2001 года комедии пресс-релизов был положен конец. Производственный партнер BitBoys, Infineon Technologies, из-за финансовых проблем закрыл фабрику, выпускавшую чипы со встроенной памятью, и финские суперчипы стало некому производить.
А что же сама компания? Отнюдь не расстроившись, она переквалифицировалась на разработку чипов для мобильных телефонов и уже в 2002 году получила прибыль в размере 150 тыс. евро. На этой стезе ей сопутствовал успех, и в 2006 году BitBoys была приобретена ATI. что само по себе стало доказательством того, что за душой у финнов и правда были кое-какие перспективные разработки. Впоследствии, при продаже соответствующего подразделения, команда BitBoys в полном составе отошла к Qualcomm.






  1. Спасибо, очень интересно, очень хорошая статья.