Видеокарта

Видеокарта — это одна из самых сложных и дорогих составляющих ПК. Фактически видеокарта представляет собой своеобразный компьютер в ком­пьютере.
Более того, как NVIDIA, так и AMD представили SDK (Software Development Kit — набор инструментальных средств разработчика), которые позволяют произ­водить характерные для центрального процессора вычисления, пользуясь исклю­чительно возможностями графических чипов.А если еще вспомнить, что вот-вот в индустрии центральных процессоров произой­дет небольшая революция и графическое ядро переместится на кристалл централь­ного процессора, то в технологическую мощь индустрии GPU (Graphics Processing Unit) уверуют даже самые убежденные скептики.
Прежде чем переходить к классификации и описанию современных видеокарт, необходимо познакомиться с рядом специфических терминов и понятий, которые традиционно приводятся в качестве характеристик видеокарт. Однако такие харак­теристики, как текселы, вершинные и пиксельные шейдеры, скорость заполнения и т. д., неразрывно связаны с пониманием принципов формирования трехмерных объектов и принципов работы современных графических ускорителей. Поэтому прежде мы постараемся в самом общем виде дать представление о том, как устро­ена видеокарта и как формируется трехмерное изображение.
Любая видеокарта включает в себя следующие обязательные компоненты:1. графический процессор;2. микросхему BIOS;3. видеопамять;4. цифроаналоговый преобразователь (RAMDAC);5. контроллер интерфейса.
На заре развития персональных компьютеров видеокарты выполняли функцию кадрового буфера. Изображение формировалось центральным процессором ком­пьютера и программным обеспечением, а карта отвечала лишь за хранение (в бу­фере памяти) и вывод с определенной частотой отдельных кадров на монитор.По мере возрастания требований к качеству и реалистичности формируемого изо­бражения, а также к скорости рендеринга отдельных кадров пришло понимание того факта, что центральный процессор ПК, то есть процессор общего назначения, не в состоянии эффективно решать специфические задачи формирования трехмер­ного изображения и для этих целей требуется специализированный графический процессор (GPU), который занимался бы исключительно расчетом трехмерного изображения. Собственно, современные графические процессоры по сложности не уступают центральным процессорам (процессорам общего назначения) и разница заключается лишь в их «специализации», благодаря чему они могут более эффек­тивно справляться с задачей формирования изображения, выводимого на экран монитора.
Как и центральные процессоры, графические процессоры характеризуются такими параметрами, как микроархитектура, тактовая частота работы графического ядра и технологический процесс производства. Графические процессоры обладают и специфическими характеристиками. К примеру, одна из важнейших характери­стик графического процессора — это число пиксельных конвейеров (Pixel Pipelines), которое определяет количество обрабатываемых пикселов за один такт. К примеру, количество пиксельных конвейеров может составлять 12 или даже 16.Забегая вперед, отметим, что для построения трехмерного изображения необходи­мо выполнить целый ряд операций: принять решение, какие объекты вообще должны присутствовать в сцене (видимые и невидимые), определить местополо­жение вершины, которое задает каждый из этих объектов, построить по этим вер­шинам грани, заполнить получившиеся полигоны текстурами в соответствии с освещением, степенью детализации и с учетом перспективных искажений.Чем тщательнее делаются все расчеты, тем реалистичнее получится трехмерное изобра­жение. Повысить производительность этих рутинных операций можно, разбив их по стадиям и распараллелив. Именно такие функции и решают пиксельные кон­вейеры. На каждой стадии каждый пиксельный конвейер занимается тем, что просчитывает очередной пиксел конечного изображения с учетом многих факторов, включая освещение сцены. А для ускорения процесса расчета используют сразу несколько конвейеров. К примеру, если используется 16 пиксельных конвейеров, то первый конвейер обрабатывает 1-й, затем 17-й, затем 33-й пиксел и т. д.; второй конвейер — 2-й, 18-й и 34-й соответственно.Количество конвейеров позволяет определить пиковую скорость заполнения ви­деокарты, которая рассчитывается как произведение частоты ядра на количество конвейеров. Если, к примеру, частота ядра составляет 400 МГц, а количество пик­сельных конвейеров равно 12, то скорость заполнения будет 4,8 Гпиксел/с.Помимо пиксельных конвейеров, различают также количество текстурных блоков в каждом конвейере. Число текстурных блоков определяет количество наклады­ваемых текстур за один проход. К примеру, два текстурных блока могут наклады­вать от двух до четырех текстур за проход. Количество текстурных блоков позво­ляет определить скорость заполнения в мегатекселах (пикселах текстур).Также в графических процессорах присутствуют вершинные конвейеры (Vertex Pipelines), которые отвечают за расчет геометрии трехмерного изображения.
Чтобы лучше представить себе структуру современного графического процессора, рассмотрим более детально процесс конвейерного расчета трехмерного изображе­ния.На первом этапе данные о вершинах поступают в вершинные конвейеры, которые занимаются расчетом геометрии сцены. Здесь начинает свою работу так называ­емый блок T&L (Transform & Lighting), который отвечает за некоторые аспекты работы с геометрией и за освещение и работает в паре с конвейерами. Блок T&L имеет две определяющие характеристики: максимальное количество источников света и количество обрабатываемых полигонов.Обработка данных в вершинном конвейере происходит под управлением специа­лизированной программы, называемой вершинным шейдером (Vertex Shader).На следующем этапе формирования изображения задействуется Z-буфер для от­сечения невидимых полигонов и граней каркасной модели трехмерного объекта. Далее происходит текстурирование объектов с фильтрацией самих текстур, для чего задействуются пиксельные конвейеры, работающие под управлением специа­лизированной программы, называемой пиксельным шейдером (Pixel Shader).Необходимо вспомнить о таких программных интерфейсах (Application Programming Interface, API), как OpenGL и Direct3D. В них описаны стандарты для работы с трехмерными изображениями. Приложение вызывает определенную стандартную функцию OpenGL или Direct3D, а шейдеры эту функцию выполняют.Вершинные и пиксельные шейдеры имеет свою версию. На сегодняшний день последней является версия 4.1. И для реализации всех возможностей программ по обработке пикселов и вершин необходимо, чтобы данную версию шейдера поддер­живали и видеокарта, и само приложение.На последнем этапе конвейерной обработки данные передаются в буфер кадров. Рассмотренный нами алгоритм формирования изображения является весьма упрощенным. В реальных графических процессорах все обстоит несколько сложнее. Например, для повышения качества изображения используется технология сгла­живания, фильтрации текстур и т. д.

Видеокарта - 855352624226
Видеокарта - 855352626018
Видеокарта - 855352627810

Комментарии

Комментариев нет.