Наверх
Обзоры

Эволюция графических монстров

Владислав Ремидовский,железо
19.03.2017
60 FPS (количество кадров в секунду) и больше в разрешении 4К (ультраразрешение) уже не мечта геймеров, а реальность. Остались считанные дни до официального выхода на рынок GeForce GTX 1080 Ti — настоящего зверя графики от NVidia. В этом году ожидается анонс самых производительных видеокарт на основе новейшей архитектуры Volta. Это означает, что с каждым днём графика в играх приближается к тому уровню, когда мы не сможем отличать реальность от красивой картинки. А ведь начиналось всё с обыкновенных букв на экране.
«Прадедушки» современных видеокарт
Древнейшие из предков нынешних монстров графики начали появляться в 80-х годах прошлого столетия. Тогда в мире IBM PC (первых массовых персональных компьютеров) существовало несколько стандартов видеоадаптеров. Во-первых, MDA — монохромный графический адаптер, позволявший выводить только буквы определённого заложенного шрифта. Работал он, конечно, только на чёрно-белых мониторах, но зато выдавал текст высокой на то время чёткости (разрешение 720*350 пикселей). Вообще цветные мониторы тогда стоили больших денег, поэтому распространены были именно чёрно-белые.
Но так как людям был необходим режим графики для работы некоторых приложений и, безусловно, игр, нужно было создавать новые решения
Этим новым решением стал CGA, цветной графический адаптер, выпущенный в 1981 году, как и его предшественник. Он мог рисовать кое-какую графику и позволял видеть уже четыре цвета, однако с ним обычно шли дешёвые чёрно-белые мониторы, и многие пользователи ошибочно полагали, что CGA — это чёрно-белый адаптер.
Имитация графики, выводимой с помощью CGA-адаптера: Wikimedia, CC BY-SA 4.0
Проблему невозможности отображения графики на MDA-адаптерах решил «Геркулес», компания Hercules Computer Technology, которая выпустила в 1982 году адаптер Hercules Graphics Card, позволявший выводить не только буквы, но и точки, сделав эффективным каждый пиксель экрана. Теперь на MDA-адаптерах можно было выводить графику почти уровня CGA. Это был серьёзный прорыв для разработчиков игр того времени.
Плата Hercules Graphics card: Wikimedia, CC BY-SA 3.0
И только много позже появились стандарты EGA (Enhanced Graphics Adapter, 1984 год) с 16 цветами и VGA (Video Graphics Array, 1987 год), который поддерживал 256 цветов, а еще позже —Super VGA, имевший до 32 бит цветов. А это уже 16 миллионов(!) оттенков. Именно этим стандартом мы пользуемся и по сей день.
Начало 3D-графики
Полигональный HellBoy: Flickr, СС-BY 2.0
Вскоре наступает эпоха 3D в видеографике. В начале девяностых начинают появляться первые адаптеры с функцией ускорения трёхмерной графики, а в 1996 году на рынок был выпущен монстр 3D: культовый 3Dfx Voodoo Graphics. Он имел 1 конвейер, 1 текстурный блок и 1 растеризатор, частоту процессора и памяти 50 МГц, техпроцесс 500 нанометров, 128-битную шину памяти и 4 МБ ОЗУ. Разберём по порядку, что это всё означает:
Конвейер — это по сути мини-процессор внутри видеокарты, выполняющий вычисления и расчёты. Каждый конвейер был подключен к своему блоку наложения текстур (TMU).
Блок наложения текстур выбирает, отфильтровывает и накладывает текстуры. Текстуры — это изображения, воспроизводящие визуальные свойства каких-либо поверхностей. Они накладываются на поверхность полигональной сетки, из которой состоят 3D-модели, для придания ей цвета, окраски или иллюзии рельефа. Полигональная сетка являет собой совокупность вершин, рёбер и граней (обычно треугольников или простых выпуклых многоугольников для упрощения вывода картинки на экран). Именно она определяет форму объёмного объекта и используется для построения изображений в компьютерной графике по сей день. Качество поверхности текстуры определяется текселями — количеством пикселей на минимальную единицу текстуры.
Растеризаторы, или блоки растровых операций (ROP), отвечают за запись пиксельных данных в память. Они занимаются рендерингом — процессом получения изображения по модели. Проще говоря, они формируют привычную нам растровую картинку, состоящую из пикселей, и помогают вывести её на экран.
Тактовая частота процессора видеокарты измеряется в мегагерцах, миллионах тактов в секунду. Она определяет количество операций, совершаемых процессором в единицу времени, а значит и определяет производительность видеокарты. Аналогично частота памяти определяет производительность памяти.
Техпроцесс — размер одного транзистора на плате. Чем меньше размер, тем меньше требуемое транзистором напряжение и меньше выделяемого тепла. Сокращение расстояния между различными блоками, возможность уместить больше транзисторов на плате и сокращение тепловыделения позволяют достигать больших тактовых частот. Это значит, что меньше техпроцесс, тем больше производительность.
Размер шины памяти определяет пропускную способность, т.е. количество информации, передаваемой за такт. Больше шина памяти — скоростнее видеокарта.
Объем видеопамяти (ОЗУ) не влияет на производительность, но влияет на качество картинки. Ведь чем больше память, тем больше текстур высокого разрешения видеокарта сможет там хранить, что даст большую чёткость и детализацию картинки пользователю.
Вернемся к Voodoo, который вставлялся в интерфейс PCI — шину для подключения различной периферии к материнской плате компьютера. Но сам по себе он работать не мог. Дело в том, что это была не видеокарта, а отдельный 3D-ускоритель, который работал только вместе с обычной 2D-видеокартой, зато выводил 3D-графику высокого на тот момент качества, которое вызывало восторг у потребителей.
Более того у Voodoo был собственный API — интерфейс программирования графических приложений, и назывался он Glide. API является набором готовых библиотек, помогающих программистам писать приложения, использующие двумерную и трёхмерную компьютерную графику, то есть помогает этим приложениям взаимодействовать с видеокартами. Voodoo поддерживал и другие API: OpenGL — открытую кроссплатформенную графическую библиотеку, появившуюся в 1992 году, и DirectX 3D — детище Microsoft, работающее только в системе Windows и выпущенное в 1995 году. Но несмотря на поддержку этих API, скорость во время работы с ними была совсем небольшой. А вот собственный Glide работал превосходно, и разработчики игр, не заботясь о конкурентах Voodoo, начали оптимизировать игры именно под эту видеокарту. 3Dfx стал королём рынка 3D-графики.
Однако и конкуренты не спали
В 1997 году на рынок снова вышла NVidia со своим первым удачным чипом Riva 128 cо схожей с 3Dfx-архитектурой, но с новой AGP 2x-шиной. Из серии PCI-разъёмов был выделен отдельный порт AGP (accelerated graphics port), который по сути заменил шину PCI, имея перед ней несколько преимуществ: теперь для видеокарт требовалось меньшее количество встроенной видеопамяти, увеличилась пропускная способность, а также можно было использовать видеокарты с большим энергопотреблением. А в 2004 году порт AGP был вытеснен разъёмом PCI Express, привычным современному пользователю.
Техпроцесс 350 нм, частота процессора и памяти 100 МГц, 128 бит шина, 4 МБ ОЗУ, Wikimedia, CC BY-SA 2.5
Один миллион видеокарт был продан за первые четыре месяца
Базировавшийся на чипе NV3, это был первый успешный продукт компании. Первая видеокарта Nvidia на чипе NV1 провалилась, а уже готовившаяся на чипе NV2 так и не успела появиться на рынке: продукт строил 3D-картинку с помощью кривых третьего порядка, а не полигонов, как это делали все, и такой подход оказался дорогим и трудным для разработки под него игр.
Естественно на рынке была фирма ATI. К слову, в 2006 году она была куплена компанией-конкурентом Intel, AMD, и была переименована в AMD Graphics Products Group. Так ATI стало подразделением компании AMD.
До этого ATI была самостоятельной компанией, она была известна задолго до появления Nvidia: в 80-х ATI делала различные 2D-видеоадаптеры. Компания решила не отставать от Nvidia и 3Dfx и в 1997 году выпустила свой первый 3D ускоритель ATI 3D Rage Pro. Но драйвера (программное обеспечение, с помощью которого операционная система получает доступ к оборудованию) на эту видеокарту были плохими по стабильности и возможностям, поэтому успешной она не была.
1 конвейер, 1 текстурный блок, 1 растеризатор, техпроцесс 350 нм, частота процессора 75МГц/ памяти 100 МГц, 8 МБ ОЗУ, 64 бит шина. Wikimedia, CC BY-SA 3.0
Закат Voodoo
После ответа от конкурентов выходит новый продукт 3Dfx — VooDoo2, который технологически мало чем отличался от первой модели, но получили 2 текстурных модуля вместо одного за счёт уменьшения техпроцесса. Теперь можно было накладывать целых две текстуры за один проход графического конвейера. Voodoo2 также не был видеокартой, он не умел выводить изображение, а пропускал 2D-сигнал от подсоединенной к нему через кабель 2D-видеокарты через себя, и всё также вставлялся в разъём PCI, а не AGP.
1 конвейер, 2 текстурных блока, 1 растеризатор, техпроцесс 350 нм, частота процессора и памяти 90 МГц, 12 МБ ОЗУ, 192 бита шина. Flickr, СС BY-SA 2.0
Из-за некачественной цепи на плате картинка от Voodoo2 на высоких разрешениях замыливалась и портилась, но несмотря на это ускоритель от 3Dfx был производительнее, и конкуренты были отброшены. Но и это еще не всё. У Voodoo2 был специальный разъём, обеспечивающий новейшую технологию SLI (Scan Line Interleave). Компания 3Dfx первой придумала объединять несколько видеокарт: они соединялись специальным кабелем и начинали работать вместе, многократно превосходив Voodoo1 и всех конкурентов, получая максимальную скорость и качество.
В 1998 году Nvidia выпустила своё ответное решение Riva TNT. Название TNT («twin texel») означало, что у видеокарты было два конвейера, на которых могли одновременно обрабатываться два пикселя, накладываться две текстуры и рендериться два пикселя в качестве кадра на выход, то есть в каком-то смысле две видеокарты в одной. Скорость у неё была неплохая (Nvidia уже хоть как-то могла конкурировать с Voodoo), но при этом Riva TNT сильно грелась.
2 конвейера, 2 текстурных блока, 2 растеризатора, техпроцесс 350 nm, 90 МГц процессор, 110 МГц память, 16 МБ ОЗУ, 128 бит шина, Wikimedia, CC BY-SA 3.0
Ответом от ATI стала Rage 128 GL14 1998 года. Она обладала той же архитектурой, но была холодней Riva TNT, так как перешла на меньший техпроцесс в 250 нм.
Но и ATI и NVidia проигрывали 3Dfx Voodoo2. Передовые игры того времени: Need for Speed 2 и Unreal Tournament, — запускались на высоких настройках графики только при наличии технологии Glide — интерфейса (API) 3Dfx. NVidia и ATI поддерживали OpenGL и DirectX, а с Glide было проще программировать игры. Более того, этот API оказался быстрее других. Но дело в том, что за ним стояла лишь 3Dfx с её Voodoo, а все остальные производители видеокарт, пытавшиеся угнаться за NVidia и ATI, поддерживали OpenGL и DirectX. Таким образом, Glide было суждено вскоре покинуть рынок вместе со своим создателем.
Более поздние карты 3Dfx, конечно, начали поддерживать эти два API, но это было медленно, и, к сожалению, позже 3Dfx не смогла угнаться за новыми веяниями и уже в 2000 году, обанкротившаяся, была куплена компанией NVidia «со всеми потрохами» и технологией SLI
Становление господства Nvidia
После этих битв 1998 года, в 1999 году, вышла NVidia Riva TNT 2 с более тонким техпроцессом и ATI Rage 128 Ultra. Voodoo не смогла достойно ответить, а у продукта ATI были нестабильные и «кривые» драйвера, и NVidia начала выигрывать эту гонку, оставляя конкурентов позади. Двухконвейерность её TNT и TNT 2 ознаменовала появление DirectX 6.0 с поддержкой мультитекстурирования.
В 1999 году NVidia запускает сразу две продуктовые линейки, существующие и по сей день: игровую GeForce и профессиональную Quadro — первый в мире GPU (графический процессор) для рабочих станций.
На рубеже 1999-2000 годов наступает революция в сфере 3D-графики
Раньше вся работа по созданию геометрии 3D-сцены, то есть по вычислению координат точек объектов, соединению их в полигоны, а также начальному освещению и затенению этих объектов, лежала на CPU, на центральном процессоре компьютера. А вот 3D-ускоритель на уже готовые объекты накладывал текстуры и производил их фильтрацию. Но скорости процессора в то время было недостаточно для создания этой геометрии, и нагрузка была слишком большая.
И вот выходит GeForce256 — самая первая видеокарта серии GeForce и самая первая видеокарта, забиравшая на себя задачу обработки вершин и освещения трехмерной сцены. Эта технология, пришедшая вместе с DirectX 7.0, называлась Hardware T&L (Transform and Lightning), то есть аппаратная обработка того, чем раньше занимался процессор, и от чего он «задыхался». Видеокарта была большим прорывом, она давала огромный скачок в скорости. Все конкуренты были порваны в клочья.
4 конвейера, 4 текстурных блока, 4 растеризатора, техпроцесс 220 нм, процессор 120 МГц/ память 166 МГц, 32 МБ ОЗУ, 128 бит шина, Wikimedia, CC BY-SA 3.0
А уже в 2000 году вышла GeForce 256 DDR, и оперативная память поменялась со стандартного SDRAM на DDR SDRAM c удвоенной скоростью работы. ATI на это ответить было нечего и нечем, и рынок был почти полностью захвачен компанией NVidia, дела у которой шли просто великолепно. Доказательство этому было то, что Microsoft выбрало NVidia поставщиком графических процессоров для своей игровой консоли Xbox, вышедшей в свет в 2001 году.
Позднее, в том же году, линейку GeForce 2 пополнила видеокарта для набиравших популярность ноутбуков GeForce 2 Go.
Перед выходом настоящего монстра по производительности от NVidia — полноценного GeForce 2 GTS, ATI представило серию Radeon, актуальную и по сей день, даже после покупки ATI компанией AMD. Видеокарта ATI Radeon DDR/7200 обладала странной архитектурой чипа: 2 конвейера по три текстурных модуля на каждом, при том что игры не умели накладывать больше двух текстур на одну и ту же поверхность, поэтому третий лишний текстурный блок простаивал. Видеокарта не превосходила в скорости даже урезанные версии GeForce, имея при этом те же проблемы со стабильностью драйверов.
То, как видеокарта обрабатывает вершины и рассчитывает освещения, было заложено в неё производителями на аппаратном уровне, то есть изменить это было нельзя, но с приходом в 2001 году GeForce третьего поколения и Radeon 8500 всё изменилось.
Мир узнал, что такое шейдеры — маленькие микропрограммы, которые исполняются на ядре ускорителя и позволяют программно задавать способы обработки вершин и пикселей
Вершинный и пиксельный шейдеры пришли вместе с DirectX 8.1. Теперь разработчики игр получили возможность определять то, как будет рисоваться графика на экране в их собственной игре.
Старт великой битвы
Теперь уже ATI потеснило NVidia на рынке, потому что видеокарты GeForce третьего поколения уступали ATI Radeon 8500, имевшим уже весьма неплохие драйвера, и Radeon начал завоевывать позиции на рынке.
Radeon 8500: 4 пиксельных, 2 вершинных шейдера, 8 текстурных блоков, 4 растеризатора, техпроцесс 150 нм, процессор 275 МГц/ память 550 МГц, 64 МБ ОЗУ, 128 бит шина
В 2002 году со следующим, четвёртым, поколением GeForce успешно конкурировал ATI и его Radeon 9700 Pro. Происходила некая «гонка вооружений» на то, какая из видеокарт окажется быстрее. Тут были и скандалы, и подковерные игры, и нечестная борьба.
Radeon 9700 Pro: 8 пиксельных, 4 вершинных шейдера, 8 текстурных блоков, 8 растеризаторов, техпроцесс 150 нм, процессор 325 МГц/ память 620 МГц, 128 МБ ОЗУ, 256 бит шина
Следующее поколение видеокарточных воин ознаменовалось появлением DirectX 9.0b (Shader model 2.0). В 2003 году появляется первая видеокарта c двухслотовой системой охлаждения: GeForce FX 5950 Ultra. Именно NVidia привела к тому, что появились видеокарты, занимающие не один слот (это сегодня они занимают минимум два или три). Сделано это было для охлаждения неудачной серии, которая получилась жутко горячей и жутко шумной, как пылесос, и обеспечила провал NVidia. Конкурент в виде ATI Radeon 9800 Pro не потребовал занимать второй слот и вполне успешно справлялся со своей задачей, не грелся и превосходил соперника. Именно с выходом этого поколения видеокарт появилась шина AGP 8x — последний класс шин AGP перед замещением этой шины интерфейсом PCI Express.
Исход битвы
До сих пор эта борьба между NVidia под маркой GeForce и уже не ATI, а AMD, но под той же маркой Radeon, продолжается. Каждый год появляются новые поколения чипов обеих компаний с новыми архитектурами. Геометрические и текстурные блоки превратились в тысячи свободно программируемых ядер. Компаниями разрабатываются новые решения и технологии в гонке за производительностью. Но лидером в этой гонке, как бы обидно не было фанатам Radeon, является всё-таки более мощная NVidia.
Совсем недавно компанией была выпущена, пожалуй, самая производительная видеокарта для игр — GeForce GTX 1080 Ti. Самая мощная графическая карта с новейшей архитектурой Pascal обладает поддержкой игр в разрешениях 4K и 5K, технологий DirectX 12, HDR и VR (виртуальной реальности). Карта, имеющая память нового поколения G5X со сверхвысокой частотой и двенадцать миллиардов транзисторов будет создавать картинку максимально реалистичного кинематографического качества.
Да, на данный момент NVidia является безоговорочным победителем, и дело тут возможно не столько в самой компании, сколько в её удачных приобретениях
За время своего существования NVidia успела купить несколько компаний, благодаря которым сейчас обладает лучшими технологиями в сфере графических ускорителей и процессоров. Немало игр обязаны своим качеством технологиям этой компании, поэтому о них стоит узнать получше.
Технологическая мощь NVidia
Первой удачной покупкой NVidia стала компания 3Dfx вместе с её технологией SLI. Изменённая технология NVIDIA SLI позволяет объединять несколько графических ускорителей компании, предлагая двукратное увеличение производительности с 2-мя платами и 2.8-кратное с 3-мя относительно одной карты. Для этого пользователю понадобится специальная SLI-сертифицированная материнская плата и 2 или 3 графических процессора. Пока что ни одна видеокарта не сможет дать такой прирост в производительности, который дает технология SLI вместе со второй видеокартой.
Две видеокарты, объединённые SLI: Flickr, CC BY-NC-SA 2.0
Под конец 2006 года выходит первая видеокарта с поддержкой DirectX 10 GeForce GTX 8800, которая дала старт видеокартам от NVidia, поддерживающим технологию CUDA. Анонсированная в 2007 году, технология параллельных вычислений CUDA позволяет существенно увеличить вычислительную производительность благодаря использованию графических процессоров. CUDA используется в различных областях, включая обработку видео и изображений, вычислительную биологию, химию, физику и многое другое. В том же 2007 году были анонсированы первые серверные видеокарты Tesla, которые могут использовать вычислительный ресурс множества своих ядер, параллельно обрабатывая данные с помощью CUDA, для решения определённого круга задач, например, моделирования погоды или анализа финансового риска. Tesla обладает огромными вычислительными мощностями: она в сотни раз мощнее среднестатистического современного персонального компьютера.
Кластер соединенных между собой Tesla: Wikimedia, CC BY 2.0
Одно из самых удачных приобретений NVidia — компания Ageia, разработавшая физический движок PhysX для симуляции ряда физических явлений. Движок используется во многих играх, обеспечивая более реалистичное взаимодействие окружений и персонажей. Графика с движком выглядит и воспринимается намного лучше: оживают деревья, взрывы поднимают пыль и обломки, рвутся ткани, вода плавно перетекает из одного места в другое, а плотный дым и туман клубятся вокруг объекта во время движения.
Взрыв в игре Mafia 2: Flickr, CC BY-NC-SA 2.0
В 2009 году была представлена технология стереоскопического изображения в играх под названием NVIDIA 3D VISION. В технологии используется затворный метод разделения изображений для левой и правой линзы очков с активным затвором NVIDIA 3D Vision. А для получения 3D-изображения необходим монитор или проектор, с поддержкой частоты в 120 Hz, и, конечно, самой технологии 3D Vision. Очки обеспечивают ультра широкие углы обзора и увеличивают яркость изображения до двух раз. Всё это обеспечивает высококачественные изображения в стереоскопическом 3D для геймеров, любителей кино и фотографий, а также плавный и чёткий игровой процесс в 2D.
Технология на выставке в 2010 году: Flickr, Nvidia corporation, CC BY-NC-ND 2.0
В 2013 году компания AMD представила свою технологию эмуляции волос и шерсти TressFX. В ответ NVidia презентовала свою разработку под названием NVIDIA HairWorks, которая добавляет сотни тысяч динамичных и реалистичных волосков к изображениям персонажей, существ и игровых миров. Обычно шерсть и волосы в играх создаются добавлением к изображению полигональных линий и прозрачных текстур. Это довольно просто и дёшево технологически, но мех и волосы в результате выглядят статично, не двигаясь. Реализма это определённо не добавляет. А при создании динамичного меха и волос в изображение можно добавить сотни тысяч волосков, каждый из которых реалистично реагирует на движения персонажа и внешние факторы. Эти волоски взаимодействуют с освещением и тенями более натурально, повышая качество изображения.
Ведьмак 3 стал одной из первых игр с использованием этой технологии: Wikimedia, CC BY 3.0
Технология DSR, динамическое суперразрешение, позволяет рассчитывать картинку в играх в более высоком разрешении, обеспечивая графику в 4К на HD-экране.
Технология имеет большое значение, повышая качество изображения в любой игре, которая поддерживает разрешение выше 1920×1080. Проще говоря, DSR позволяет рассчитывать картинку в играх в более высоком разрешении, а затем масштабирует полученный результат до разрешения монитора пользователя, обеспечивая графику в 4К, 3840×2160, на любом экране.
TXAA (временное сглаживание) обеспечивает более плавное изображение, значительно превосходя любые сопоставимые техники сглаживания, получая картинку как в киностудиях, где затрачивают значительные вычислительные ресурсы, чтобы убедиться, что нереалистичные, «зазубренные» края изображения не отвлекают зрителя. Технология сокращает не только неровные линии, но и устраняет дрожание изображения, не причиняя ущерба производительности. А всё для того, чтобы игры могли достичь «киношного» уровня четкости воспроизведения картинки.
Сглаживание в игре Assassin’s Creed Unity
Технология NVIDIA G—SYNC делает всё, чтобы обеспечить на дисплеях компьютеров и ноутбуков лучший игровой процесс. Дисплеи с технологией G-SYNC обладают высоким динамическим диапазоном: они отображают изображение с более широким диапазоном цветовой гаммы, чем обычные мониторы. Пиковая яркость в несколько раз превосходит обычные мониторы и имеет цветовой охват, близкий к кинематографическому стандарту, на 25 процентов выше стандартного.
Монитор с G-SYNC: Flickr, CC BY-NC-SA 2.0
Технология динамически синхронизирует частоту дисплея с частотой смены кадров на GPU (графическом процессоре), устраняя разрывы и поддерживая максимальную переменную частоту обновления, на которую способна ЖК-панель. Ввод данных и воспроизведение результата на экране происходят практически мгновенно. С минимальными задержками между нажатием кнопки клавиатуры и отображением результата на экране, и минимальными задержками между рендерингом картинки и её выводом на экране.

Комментарии:

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии...