Видеокарта (VGA, также видеоада́птер, графический ада́птер, графи́ческая пла́та, графи́ческая ка́рта, графи́ческий ускори́тель) — устройство, преобразующее графический образ, хранящийся как содержимое памяти компьютера (или самого адаптера), в форму, пригодную для дальнейшего вывода на экран монитора.
В современных играх видеокарта накладывает текстуры и эффекты на вершины, построенные центральным процессором (CPU). Большинство CPU обладает собственным графическим ядром, этот вариант называется встроенной графикой и использует ОЗУ компьютера как видеопамять. Видеокарты в виде плат расширения называют дискретной графикой. Далее о них.
Графический процессор
Видеокарты имеют собственный процессор – графический процессор(GPU), специализированный для обработки графики. Такой процессор работает на более низких частотах, в сравнении с CPU, но обладает большим количеством ядер. Используя сотни ядер, GPU обрабатывает множество параллельных вычислений для тысяч пикселей, создавая сложную 3D графику. Частота современных GPU измеряется мегагерцами и варьируется в районе 1500Mhz.
На сегодняшний день есть несколько производителей GPU: nVidia, AMD и Matrox, к выходу на рынок готовятся видеокарты с GPU от Intel.
Память
Современные видеокарты используют память GDDR (Graphics Double Data Rate). Общими отличиями GDDR от DDR являются более высокие номинальные частоты работы первой. Также GDDR содержит упрощения электрического интерфейса и применение ряда специальных приёмов управления буфером ввода-вывода, что позволяет достичь несколько бо́льшей пропускной способности и более высоких рабочих частот по сравнению с DDR SDRAM. Кроме этого, GDDR имеет по сравнению с DDR более низкое энергопотребление и тепловыделение при работе на равных частотах.
Персональные компьютеры используют в качестве ОЗУ DDR четвертого поколение, с частотой памяти немного более 4Ghz, видеокарты используют GDDR шестого поколения, с частотой свыше 15Ghz.
Память видеокарты соединена с GPU, этот канал называется шиной памяти. Ширина этого канала влияет на производительность видеокарты, так как влияет на пропускную способность памяти, т.е. количество данных, которые видеокарта способна обработать за единицу времени. За редким исключением, разрядность шины варьируется от 64 до 512 бит, чем больше, тем лучше. Чтобы вычислить пропускную способность можно использовать формулу: разрядность шины (байт), например (512 бит/8), умножить на частоту памяти (Mhz), например 10000Mhz = 640GB/s.
Объем памяти современных видеокарт варьируется от 1Гб до 48ГБ. В профессиональных решения встречается ECC память, о которой было упоминание в ЛикБезе про память.
Интерфейс
Видеокарты используют интерфейс PCI-e через разъем PCI-e x16. Видеокарта может использовать все 16 линий PCI-е, c пропускной способностью 8GB/s на линию. Если в системе используется более одной видеокарты, то каждая видеокарта может получить только 8 или 4 линии PCI-e, в зависимости от деления линий CPU. Об этом было упоминание в ЛикБезе про процессоры и материнские платы.
Блоки и процессоры
Ранее в видеокартах использовались пиксельные процессоры, которые рассчитывали цвет пикселя, выполняя программу пиксельного шейдера, и вершинные процессоры, которые рассчитывали геометрическую структуру, выполняя программы вершинного шейдера. Сейчас в видеокартах используются универсальные процессоры, которых может насчитываться несколько тысяч. Их количество влияет на общую производительность видеокарты. Шейдер — компьютерная программа, предназначенная для исполнения процессорами видеокарты (GPU).
Текстурные блоки (TMU, Texture Mapping Unit) отвечают за выборку и фильтрацию текстур, а также за наложение текстур на поверхности геометрических объектов.
Блоки растеризации (ROP, Raster Operator) отвечают за финальный этап обработки изображения (сглаживание, блендинг, работу с буфером глубины), а также за запись обработанного изображения в буфер кадра видеокарты.
API для GPU
DirectX — это набор API, разработанных для решения задач, связанных с программированием под Microsoft Windows. Наиболее широко используется при написании компьютерных игр. Современные видеокарты поддерживают DirectX 12. Версия DirectX определяет качество изображение, оптимизацию ресурсов и поддержку новых технологий, например, трассировку лучей.
Vulkan — кроссплатформенный API для 2D- и 3D-графики, впервые представленный Khronos Group в рамках конференции GDC 2015. Изначально был известен как «новое поколение OpenGL» (Open Graphics Library).Как и OpenGL, Vulkan позволяет с высокой производительностью отображать в реальном времени различные приложения с 3D-графикой, такие как игры или интерактивные книги на всех платформах, а также обеспечивает более высокую производительность и меньшую нагрузку на процессор
Трассировка лучей
Ray tracing; рейтрейсинг, трассировка лучей — технология построения изображения трёхмерных моделей в компьютерных программах, при которых отслеживается обратная траектория распространения луча (от экрана к источнику), используется для создания реалистичного освещения, отражений и теней, обеспечивающее более высокий уровень реализма по сравнению с традиционными способами рендеринга. С выходном поколения видеокарт nVidia RTX, трассировка лучей обрела популярность, так как производители игр стали осваивать эту технологию.
Видеоинтерфейсы
VGA, D-subminiature или D-sub DE-15 – аналоговый электрический разъем.
Digital Visual Interface, DVI «цифровой видеоинтерфейс» — стандарт на интерфейс, предназначенный для передачи видеоизображения на цифровые устройства отображения.
Существуют версии разъема DVI:
— DVI-A Single Link (A — Analog, аналоговый) — только аналоговая передача;
— DVI-I (I — Integrated, совмещенный) — аналоговая и цифровая передача;
— DVI-D (D — Digital, цифровой) — только цифровая передача.
HDMI — High Definition Multimedia Interface — интерфейс для мультимедиа высокой чёткости, позволяющий передавать цифровые видеоданные высокого разрешения и многоканальные цифровые аудиосигналы с защитой от копирования (HDCP).
Последняя версия – 2.1, имеет пропускную способность 48 Гбит/с, разрешение до 10к при 120гц, 32 аудиоканалов. Существуют 3 версии разъема данного интерфейса – HDMI miсroHDM и miniHDMI.
DisplayPort — стандарт сигнального интерфейса для цифровых мониторов.
Последняя версия – 2.0, имеет пропускную способность 77,4 Гбит/с, разрешение до 16к при 60гц. Поддерживает 144гц при разрешении 4к. Существует 2 разъема интерфейса: DP и miniDP.
miniDP програмно-аппаратно совместим c Thunderbolt, но это не одно и то же.
Мощность, питание и TDP
Простым видеокартам достаточно питания через разъем PCI-e, но мощные видеокарты требуют дополнительного питания от блока питания через разъемы 6 или 8 pin PCI-e, о которых упоминалось в ликбезе про блоки питания. Самые мощные видеокарты могут потреблять сотни Вт, и выделять сотни Вт тепла. Это необходимо учитывать при конфигурировании компьютера.
Охлаждение
Современные видеокарты могут обладать 3 типами охлаждения:
— Простые и игровые видеокарты начального уровня встречаются с пассивным охлаждением;
— Стандартным считается активное воздушное охлаждение из одного, двух или трех вентиляторов в ряд, иногда бывают дополнительный вентилятор на верхней кромке;
— Производительные видеокарты встречаются с системой водяного охлаждения, что позволяет эффективно охлаждать несколько видеокарт.
Видеокарты nVidia работают в бесшумном режиме при температуре ниже 55 градусов Цельсия, отключая вентиляторы. Также мощные видеокарты nVidia очень быстро набирают максимально допустимую температуру и работают не на полной мощности, при недостаточном охлаждении. Это важно для рабочих станций под рендер видео.
Форм-фактор
Видеокарты исполняются в виде плат расширения, которые различаются по 3 параметрам:
— Количество занимаемых слотов, от 1 до 3;
— Полная высота или низкопрофильная;
— Длина.
Эти параметры важны для возможности размещения видеокарты в корпусе.
SLI и Crossfire
У nVidia (SLI) и AMD (Crossfire) есть технология масштабирования мощности, позволяющая использовать несколько видеокарт для обработки трёхмерного изображения в одной системе. В зависимости от модели видеокарт технология поддерживает две, три или четыре видеокарты.
Для реализации SLI требуется специальный мост, современные видеокарты nVidia поддерживают высокопроизводительные мосты объединяющие 2 видеокарты. Размер моста требуется подобрать согласно размещению видеокарт относительно друг друга при подключении к материнской плате. AMD отказались от мостов для Crossfire.
Существует 3 основных алгоритма работы:
— Split Frame Rendering в SLI, Scissor в Crossfire (раздельный рендеринг кадра) – обработка кадра делится поровну между всеми видеокартами в системе, то есть каждая видеокарта обрабатывает половину изображения.
— Alternate Frame Rendering (чередующийся рендеринг кадра) – видеокарты обрабатывают кадры по очереди.
— SLI AA в SLI, SuperAA в Crossfire — Одна и та же картинка генерируется на всех видеокартах с разными шаблонами сглаживания, чем достигается максимальные чёткость и детализованность изображения.
Наличие второй и далее видеокарт не дает 100% прироста к производительности, тесты в разных играх показывают разные результаты увеличения FPS. Для использования нескольких видеокарт требуется более мощное питание и охлаждение. Целесообразно использовать данную технологию при недостатке мощности для выполнения задачи у самой топовой видеокарте (не Титан).
«144гц»
У nVidia и AMD есть собственные стандарты для мониторов, адаптирующие их к частоте кадров, называются g-sync и freesync соответственно. Технология позволяет улучшить качество динамических сцен. Технология Freesync бесплатна, мониторы, поддерживающие ее, стоят дешевле, и с недавних пор nVidia добавила поддержку этого стандарта и в свои видеокарты.
Об этом стоит подробнее написать в материале про мониторы.
Поддерживаемые мониторы
Современные игровые видеокарты от nVidia и AMD поддерживают до 6 мониторов, при этом третий и далее мониторы должны быть подключены исключительно через DisplayPort. А профессиональные решения поддерживают до 8 мониторов на 1 слотовой видеокарте, например,nVidia Quadro NVS 810. У видеокарты есть максимальное разрешение, все подключенные мониторы не могут суммарно превышать это значение. Например, мы на nVidia Quadro NVS 810 можем подключить лишь 1 монитор 4к, или 4 монитора в FullHD, или 8 мониторов в более низком разрешении. Увеличить количество поддерживаемых мониторов возможно путем установки большого количества видеокарт без использования режимов SLI и Crossfire. Современные игровые видеокарты способны выводить разрешение 8К на 1 экран, или 4К на 4 экрана. Только данная способность не означает то, что в таком разрешении видеокарта будет производительной, и для, например, игры в 8К потребуется несколько видеокарт в SLI или Crossfire.
Профессиональные решения
Про профессиональные решения можно выводить отдельные ветви статей, если бегло пройтись по основным направлениям nVidia:
Видеокарты nVidia Quadro — бренд графических карт фирмы NVIDIA, предназначенный для профессионального использования в рабочих станциях САПР, станциях компьютерной графики и создания цифрового контента. Отличаются большей мощность графического процессора и большим объемом памяти.
Сопроцессоры nVidia Tesla — семейство вычислительных систем NVIDIA на основе графических процессоров с архитектурой CUDA, которые могут быть использованы для научных и технических вычислений общего назначения. Для серверных решений существует интерфейс — c NVLink с пропускной способностью 1,6Tb/s, при котором графические вычислительные модули располагаются на плате, подобно CPU.
Сопроцессоры NVIDIA GRID — это решения для виртуализации, обеспечивающие пользовательские возможности почти на уровне физического ПК. Простыми словами, это возможность использования в частном облаке вычислительной мощности, сравнимой с несколькими топовоми видеокартами, например, на планшете.