История видеокарт — Часть 1

Для чего нужны видеокарты и принципы их работы, знает множество продвинутых пользователей компьютера. Ну а историю их развития и усовершенствования от самого их появления до сегодняшнего дня мало кто знает. Хотя многим это интересно. В нашей статье вам станет известна история видеокарт.

Графические адаптеры, быть может, самые интересные и значимые составляющие современного ПК. Для огромного числа геймеров, видеокарты стоят на первом месте среди компонентов компьютера по значимости. Ради увеличения такого драгоценного количества кадров в игре они готовы выложить немалую сумму за топовые видеокарты. А для разработчиков видеокарт эти денежные средства – толчок для создания более мощных и современных адаптеров. Развитие видеокарт существенно обгоняет развитие, например, процессоров. Хотя несколько десятков лет в это было трудно поверить.

Графика? Не, не слышал

Начало истории PC-совместимых персональных компьютеров положил адаптер MDA (Monochrome Display Adapter), появившийся во всем известном IBM в 1981 году и ставший родоначальником графических карт. Этот адаптер был первым неинтегрированным в материнскую плату. Он был собран на отдельной плате, и для него был создан специальной слот в универсальной шине XT-bus.

MDA - дальний предок современных видеокарт - IBM Monochrome Display Adapter

MDA - дальний предок современных видеокарт - IBM Monochrome Display Adapter

В принципе, он был видеоконтроллером, функция которого заключалась в выводе содержимого видеопамяти на монитор. Сигнал, который генерировал MDA, был цифровым, что явилось причиной отсутствия обязательного для последующих адаптеров RAMDAC. Плата MDA включала в себя не только чип видеоконтроллера, но и 4 кб видеопамяти, тактовый генератор и микросхему ПЗУ, в которой содержался шрифт.

Забавно, но адаптер MDA не работал в графическом режиме – он был  просто текстовым. Однако, многие ПК в то время работали с графикой. Почему же IBM отказалось от графики? Заключалось все в позиции IBM. То, что компьютер умел «рисовать» на мониторе, тогда считалось чем-то несерьезным, связывалось с играми. И, конечно же, компьютеру для бизнеса не нужны были эти «игрушки».

Первый IBM PC

Первый IBM PC

Но, несмотря на отсутствие графики, MDA умел достаточно. Он выводил на монитор 25 строк, содержащих 80 символов каждая, и отдельный символ располагался на матрице 9*14 пикселей. Таким образом, разрешение, выдаваемое MDA, было 720*350 пикселей, что придавало тексту большую четкость, которую конкуренты не предлагали. Помимо этого, у символов было 5 атрибутов на выбор: обычный, яркий, подчеркнутый, инверсный и даже мигающий. Очевидно, что работал MDA только с черно-белыми мониторами. А также у MDA был порт для принтера, что означало, что покупатели не надо было покупать дополнительный контроллер, который стоил в то время около $100.

Брат с графикой

И все же не будь у IBM PC графики – он не был бы таким популярным. Ради «несерьезных» пользователей для IBM PC в тот же год был изготовлен еще один адаптер, который назывался CGA (Color Graphics Adapter). Он был выпущен тоже в 1981 году. Он выдавал меньшее разрешение, чем у MDA, зато у него было гораздо больше режимов. Благодаря 16 кб видеопамяти, CGA мог работать и в текстовом режиме и в режиме графики.

Видеокарта IBM CGA

Видеокарта IBM CGA

CGA отображал столько же строк и символов, сколько и MDA (25 по 80 или 40 символов). Однако, у символов было 16 цветов, хоть и располагались они на матрице 8*8 пикселей.

В графическом режиме CGA выводил изображение на экран в трех вариантах: 640*200 с цветом в 1 бит (монохром); 320*200 пикселей с 2 битами (4 цвета); 160*100 пикселей уже с цветом в 4 бита (16 различных цветов). Третий вариант технически был эмуляцией графики в текстовом режиме (происходила имитация пикселей при помощи наполовину закрашенной матрицы 8*8 пикселей).

Игры того времени - Solitare

Игры того времени - Solitare

Порт, передающий видеосигнал в цифре, у CGA был девятиконтактным, также как и порт у MDA, и у него был выход для работы с цветным телевизором. CGA работал с одноцветным дисплеем для MDA. И так было до 1984 года. До появления EGA адаптера.

Игры того времени - Wilf

Игры того времени - Wilf

Увеличение качества

Развитие видеокарт пошло по принципу роста количества цветов и пикселей в разрешении. Появившийся в 1984 году Enhanced Graphics Adapter (EGA) выводил на экран 16 цветов (4 бита) при разрешении в 640*350 пикселей. Видеопамять стала сперва 64 кб, а потом доросла до 256 кб, благодаря чему EGA справлялся с несколькими страницами памяти. По этой причине процессор формировал несколько кадров изображения сразу, т.е. получилось некое ускорение графики.

EGA - 16 цветов, 640х350 точек

EGA - 16 цветов, 640х350 точек

Улучшение графики в EGA-играх - Yorick

Улучшение графики в EGA-играх - Yorick

Улучшенная графика - Ancient Art of War

Улучшенная графика - Ancient Art of War

Такие графические адаптеры не имели аналогов несколько лет, что в наши дни себе трудно вообразить. Это происходило до 1987 года, когда на ПК пользователи ставили наилучший для них адаптер – EGA. Но все же, в этом году появился другой, названный VGA (Video Graphics Array).

Этот адаптер был создан для новых ПК IBM PS/2. Проектируемое семейство должно было не использовать открытую архитектуру, и, к сожалению, оно было совершенно не успешным на рынке. Хотя и многие идеи этого семейства были приняты пользователями. Например, MCGA (Multi-Color Graphics Array), графический адаптер, который подключался к PS/2 компьютерам через системную плату, был изменен на плату для шины ISA. Это и есть VGA.

Разрешение у VGA было 640*480 пикселей и 16 цветами, либо 320*240 с 8-битным цветом (256 цветов). До фотореализма далековато, но все же шаг сделан. VGA получил новый интерфейс – 15-контактный D-Sub, который стал стандартом и сохранился даже до наших дней в некоторых ПК. Одной из особенностей была совместимость с приложениями для EGA, CGA и MDA, благодаря чему они работали на VGA.

Благодаря присутствию на борту адаптера 256 кб видеопамяти, VGA хранил по нескольку кадров, да еще и со шрифтом. Говорят, что когда использовался весь объем памяти, на экран можно было вывести кадр с разрешением 800*600 пикселей! Хотя это не подтверждено.

IBM VGA с новым интерфейсом

IBM VGA с новым интерфейсом

Слегка производительней

Как и в случае с предыдущими адаптерами для PS/2 IBM выпустила 2 адаптера: MCGA (VGA), который был строенным, а также продаваемый в качестве апгрейда 8514/А. Последний выводил изображение с разрешением 1024*768 точек и имел 8 бит цвета. К тому же создатели этого адаптера дополнили его еще некоторыми возможностями по ускорению графики, благодаря чему он выполнял часть функций по подготовке кадра.

8514/A рисовал линии, выполнял заливку части кадра, а также накладывал битовую маску и все это в своей видеопамяти. Это было существенным плюсом для приложений инженерной графике, ну а особенно это было заметно при создании диаграмм. Конечно же, нужна была помощь и от программ, которую они скоро и оказали.

Нельзя не отметить, что тогда графические станции профессионалов имели дополнительные сопроцессоры для графики, которые размещались на отдельных платах. Такие сопроцессоры были очень дорогостоящими и имели множество возможностей. Несмотря на ограниченную функциональность, 8514/A был намного дешевле, а это очень важный фактор для сферы ПК.

Игра Манджонг на 8514/A

Игра Манджонг на 8514/A

Наступил 1990 год и появился XGA (Extended Graphics Array). Он сменил 8514/А и имел больше возможностей. Единственным изменением стал режим с разрешением 800*600 точек и 16 битами цвета (65 536 цветов, High Color). XGA положил начало доминированию различных адаптеров SuperVGA, а объемы видеопамяти и величина разрешения увеличивались год от года. Результатом этого стало то, что удивить качеством картинки покупателя становилось все сложнее. Соответственно, чтобы продавать новые дорогостоящие адаптеры, нужно было внедрять в них новые функции.

Старт 3D

Компанией-первооткрывателем 3D для компьютеров стала S3. Ее видеокарта S3 Virge поддерживала 4 Мб памяти VRAM или DRAM и стала наследником успеха Trio 64V+. Ядро и память обладали совсем смехотворной для наших дней частотой 80 МГц.

У этого адаптера появилась функция ускорения трехмерной графики. Благодаря этому создатели игр смогли пользоваться динамическим освещением и билинейной фильтрацией текстур, хоть и прибавку в скорости игр Virge не давала.

S3 Virge во всей красе

S3 Virge во всей красе

Компания быстро осознала, что ей, как первооткрывателю 3D, стоит внедрить свои платы в потребительский рынок. S3 стала заключать контракты с разработчиками Tomb Raider, Descent II, Mechwarrior 2, которые получили стандарт S3D. В S3 поняли, что необходимо распространять свой стандарт, получая тем самым, большее предпочтение покупателей, нежели другие производители. К функциям Virge можно, конечно, отнести поддержку OpenGL, однако производительность в использовании их была очень плохой. В функциях была заявлена даже поддержка Direct3D, несмотря на то, что почти все игры были для MS-DOS, и игры с Direct3D не были еще даже в планах.

Господство S3 на рынке видеоадаптеров длилось до 1996 года, когда появился ускоритель Voodoo Graphics от компании 3Dfx. И, несмотря на последующие обновления и улучшения, Virge так и остался всего лишь недорогой 2D-картой.

Монстры 3D

Сама 3Dfx появилась от понимания того, что для ПК необходима производительность в 3D, которая была хорошей в приставках того времени. Это поняли представители Silicon Graphics Гарри Таролли, Скотт Сеттерс и Росс Смит. Они и основали компанию.

Взяв кредиты, специалисты начали работу. Первые деньги и шаги в индустрии 3Dfx сделала на выпуске графических чипов для приставок того времени. А через год компания выпустила Voodoo Graphics. Новый адаптер был представлен на выставке Computex и вызвал огромный восторг. Такого плавного и красивого рендеринга 3D никто и не представлял. Качество графики было гораздо выше, нежели у Nintendo 64 и Playstation, которые только готовились выйти в свет. У Voodoo Graphics была заявлена поддержка и DirectX и OpenGL, хотя скорость была совсем небольшой. Но во время работы со своим интерфейсом, названным Glide, работало все очень хорошо. Разработчики игр тут же начали оптимизацию под Voodoo Graphics, не задумываясь о ее конкурентах. Выдаваемый адаптером режим разрешением в 640*480 точек и 16 бит цвета сейчас не удивляет совершенно, но в то время это для потребителей было даже впечатляюще.

Возможности Glide

Возможности Glide

Сам адаптер устанавливался в специальный слот PCI, однако не имел функций 2D. Принцип работы состоял в перехвате управления в режиме 3D у обычного адаптера, через который он и подключался к монитору. Совмещение качественных 2D и 3D адаптеров сначала выглядело очень интересным и пользовалось популярностью пользователей. В том же году вышел 3D-ускоритель Rendition Verite V1000, у которого были функции 2D-видеокарты, однако при высоком разрешении он затуманивал изображение. Из-за этого также не пользовался популярностью Voodoo Rush, который вышел годом позже и был полноценной видеокартой с 3D-ядром Voodoo Graphics.

Видеокарта Voodoo Graphics

Видеокарта Voodoo Graphics

У Voodoo Graphics было 3 Мб EDO DRAM, которая работала на частоте 50 МГц, аналогичной процессору. На исходе 1996 года произошло падение цен на EDO DRAM и 3Dfx начало продавать адаптеры относительно дешево, вызывая тем самым всплески своей популярности у потребителей. Однако собственных адаптеров 3Dfx не реализовывала. Она была поставщиком их для партнеров. Самым популярным был Diamond Monster 3D, благодаря которому товары 3Dfx стали называться «монстрами».

Видеокарта Diamond Monster - на вид не такой уж и монстр

Видеокарта Diamond Monster - на вид не такой уж и монстр

Опытные конкуренты

Легендарный Quake на Riva128

Легендарный Quake на Riva128

Но 3Dfx не была единоличным владельцем рынка. Появившаяся еще в 1985 году компания ATI, начав с «клонирования» IBM 8514/A, имела опыт и  достаточную известность к появлению первого адаптера от 3Dfx. К 1995 году у нее был уже Rage адаптер, который выдавал отличную 2D картинку, имел возможности 3D и мог обрабатывать сжатый видеопоток MPEG-1. Выпуск 3D Rage II произошел в середине 1996 года. Этот ускоритель был в 2 раза быстрее предшественника и обрабатывал уже формат MPEG-2 (DVD). У ускорителя была поддержка Direct3D и OpenGL (частично). На борту он нес 8 Мб SDRAM, а процессор и память имели частоту 60 и 83 МГц соответственно. Несмотря на заметный недостаток в производительности в 3D-рендеринге, карта имела отличное 2D-изображение и могла аппаратно ускорять видео на начальном уровне.

Появившаяся на пару лет раньше 3Dfx, компания NVIDIA в 1995 году выпустила свой первый, хоть и провальный, продукт NV1. Он совмещал 3D-ускоритель, 2D-адаптер, а также адаптер звука и порт для геймпада Sega Saturn. Он был дорогим, и архитектура была у него странная: 3D появлялось из кривых третьего порядка, а не из полигонов. Для создателей игр этот подход был слишком оригинален и сулил немало трудностей в создании движка для игры. Ну а когда появился Direct3D, NV1 окончательно канул в лету.

Несмотря на это и на потери в сотрудниках и деньгах, NVIDIA смогла выпустить совсем другой продукт, названный NVIDIA Riva 128, базировавшийся на чипе NV3 и имевший 4 Мб (а в версии 128ZX — 8мб) SDRAM, шину в 128 бит и рабочую частоту в 100 МГц. Производительность в 3D у него была на уровне Voodoo Graphics, и выпускался он в 2 вариантах:  PCI и AGP, который не поддерживали продукты 3Dfx. Riva 128 помог NVIDIA не стать банкротом. Однако, ничья у 3Dfx и NVIDIA была всего лишь в непопулярном в то время Direct3D.

Несколько интересных фактов об истории видеокарт

Факт №1. IBM PC в СССР

У этого адаптера шрифт был всего один, и он находился непосредственно в ПЗУ. Кодовая таблица состояла из 256 символов и включала в себе различные спецсимволы для европейских языков, символы псевдографики, ну и, конечно же, строчные и прописные символы латиницы. Если возникала необходимость смены набора символов, необходима была замена микросхемы ПЗУ.

Так при русификации были большие сложности. Несмотря на отсутствие ввоза IBM PC в СССР, некоторые компьютеры добирались до страны. Для отображения кириллицы приходилось производить замену микросхемы ПЗУ на другую, в которой европейские спецсимволы менялись на кириллицу.
Однако, для адаптеров с графическим режимом (CGA, HGC) перевод на кириллицу происходил проще. Символьная таблица кириллицы всего лишь «вшивалась» в память ПК, а позднее в память самих адаптеров.

Факт №2. Помощь Геракла

Адаптер MDA имел множество плюсов, однако графику все же отображать не мог. И все же IBM PC получил приложения, для которых режим графики был просто необходим (AutoCad, например). Для заказчика стоял серьезный вопрос: отказываться от принтерного порта и четкости цвета, которыми обладал MDA или отказываться от приложений, использующих графику?

Ответ на этот вопрос дала компания Hercules Computer Technology, которая выпустила в 1982 году адаптер Hercules Graphics Card, у которого были все функции MDA, а главное, он имел эмуляцию CGA. Правда сигнал был всего лишь в монохроме, но пользователей это не пугало.

Эти адаптеры стали очень популярны, ведь цветные мониторы стоили слишком дорого. Поэтому поддержка HGC в приложениях и играх появилась довольно быстро.

Факт №3. Два монитора

IBM, после выпуска MDA и CGA, задумалась о их совместной работе. Ведь пользовались адаптеры разные области адресного пространства и порты ввода и вывода. Благодаря этому, можно было пользоваться двумя мониторами одновременно. Поддержка на программном уровне двух мониторов была слаба, однако под DOS некоторые дебаггеры все же работали.

Но не только в DOS была поддержка двух экранов. Linux, не имея графического интерфейса, позволял вывести на второй монитор журнал системных событий ну или консоль команд.

Факт №4. Чтобы было красивее

То, что в адаптерах появилась функция ускорения 2D-графики, стало толчком в развитии пользовательского интерфейса. Конечно же, тратя ресурсы процессора на красивый интерфейс – занятие не благодарное. Ну а когда ресурсы поставляет видеокарта, то почему бы и нет? На экваторе девяностых не было видеокарт, появлявшихся без ускорения 2D. К тому же у адаптеров появлялось все больше и больше функций. Например, S3 Trio 64V+, пользовавшийся большим спросом в те годы был в трех вариантах шин (PCI, VLB и ISA), имевший 2 Мб видеопамяти с 64-битным интерфейсом, поддерживал функцию ускорения 2D. Trio в названии означало присутствие сразу трех отдельных устройств, объединенных вместе: RAMDAC, графическое ядро и тактовый генератор.

Факт №5. Технология ускорения

3D-сцена в 90-е была совокупностей полигональных объектов с текстурами. ЦП высчитывал координаты полигонов (вершин треугольников, коими были полигоны) и производил их загрузку в память адаптера.
После этого графический процессор производил рендеринг. Он проецировал трехмерные координаты этих треугольников на плоскости, удалял скрытые поверхности и накладывал текстуры. Рендеринг в то время назывался конвейером и за каждый его этап отвечали отдельные компоненты процессора. В мощных представителях видеоадаптеров этих компонентов могло быть несколько комплектов, которые работали параллельно. Говорили, что у чипа несколько конвейеров. За мощность отвечало не только повышение тактовой частоты, но и увеличение комплектов компонентов. Усовершенствованию также подвергались различные компоненты процессора, отвечавшие за конвейер.

Факт №6. Программная поддержка

Программная поддержка была необходима при появлении 2D- и 3D-ускорения графики. Для этого были созданы общие графические библиотеки (они же интерфейсы прикладного программирования API). Эти библиотеки были набором функций для реализации различных операций. Программист пользуется этими функциями, а разработчики адаптеров выпускают драйвера для совместимости с функциями этих библиотек.

Самые популярные сейчас библиотеки это OpenGL, сохранившаяся от Silicon Graphics, которая поддерживается большинством ОС и Direct3D, которую создали в Microsoft. Она входит в пакет DirectX и поддерживается только в Windows. Разница у них состоит в наборе функций и возможностей, а также удобством для пользователя.

Окончание в статье — История видеокарт — Часть 2.

Буду очень благодарен, если вы поделитесь с друзьями этой статьёй в социальных сетях и блогах, это будет здорово помогать моему блогу развиваться:

0

Хотите получать обновления блога? Подписывайтесь на рассылку и внесите свои данные: Имя и е-мейл

Есть 6 коммент. к “История видеокарт — Часть 1”

  1. Вадим:

    Спасибо за хорошую статью!:-)
    Я ваш подписчик!:)))

    • Антон Козлов:

      Пожалуйста, Вадим! Скоро будет её продолжение. Всем подписчикам особый респект.

  2. Андрій:

    Классно написано, прочитал с удовольствием!

    • Антон Козлов:

      Пожалуйста, Дмитрий!

  3. Игорь:

    Спасибо Вам за эту статью.
    Давно хотел поискать что-то на эту тему в сети, но увы, на подобную тематику пишут мало.
    А продолжение есть/будет?

    • Антон Козлов:

      Есть вторая часть. А вообще есть и другие статьи по теме истории.

Написать комментарий

Top