Какая информация содержится в видеопамяти

Какая информация содержится в видеопамяти thumbnail

§20. Как кодируется изображение

Основные темы параграфа:

– кодирование цветов пикселей;

– объем видеопамяти.

Изучаемые вопросы:

– Принцип формирования цвета пикселя на экране.

– Связь между количеством цветов в палитре и количеством бит для кодирования одного пикселя (формула).

– Формула определения объёма видеопамяти для хранения изображения заданного размера.

Кодирование цветов пикселей

Информация о состоянии каждого пикселя хранится в закодированном виде в памяти компьютера. Код может быть однобитовым, двухбитовым и т. д.

Код пикселя — это информация о цвете пикселя.

Для получения черно-белого изображения (без полутонов) используются два состояния пикселя: светится — не светится (белый — черный). Тогда для кодирования цвета пикселя достаточно одного бита памяти:

1 — белый;

0 — черный.

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

Для кодирования четырехцветного изображения требуется двухбитовый код, поскольку с помощью двух битов можно выразить четыре различных значения (отобразить четыре различных состояния). Может использоваться, например, такой вариант кодирования цветов:

00 — черный;

10 — зеленый;

01 — красный;

11 — коричневый.

Из трех базовых цветов — красного, зеленого, синего — можно получить восемь комбинаций трехбитового кода:

В этом коде каждый базовый цвет обозначается его первой буквой (к — красный, з — зеленый, с — синий). Черточка означает отсутствие цвета.

Следовательно, для кодирования восьмицветного изображения требуются три бита памяти на один видеопиксель. Если наличие базового цвета обозначить единицей, а отсутствие — нулем, то получается таблица кодировки восьмицветной палитры (табл. 4.1).

Таблица 4.1. Двоичный код восьмицветной палитры

Какая информация содержится в видеопамяти

Из сказанного, казалось бы, следует вывод: с помощью трех базовых цветов нельзя получить палитру, содержащую больше восьми цветов. Однако на экранах современных компьютеров получают цветные изображения, составленные из сотен, тысяч и даже миллионов различных оттенков. Как это достигается?

Если иметь возможность управлять интенсивностью (яркостью) свечения базовых цветов, то количество различных вариантов их сочетаний, дающих разные оттенки, увеличивается.

Шестнадцатицветная палитра получается при использовании четырехразрядной кодировки пикселя: к трем битам базовых цветов добавляется один бит интенсивности. Этот бит управляет яркостью всех трех цветов одновременно (интенсивностью трех электронных пучков) (табл. 4.2).

Таблица 4.2. Двоичный код шестнадцатицветной палитры.
«и» — бит интенсивности

Какая информация содержится в видеопамяти

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

Из сказанного можно вывести правило.

Количество различных цветов К и количество битов для их кодирования b связаны между собой формулой К = 2b.

21 = 2, 22 = 4, 23 = 8, 24 = 16 и т. д. Для получения цветовой гаммы из 256 цветов требуется 8 битов = 1 байт на каждый пиксель, так как 28 = 256.

Величина b называется битовой глубиной цвета.

Объем видеопамяти

Объем необходимой видеопамяти определяется размером графической сетки дисплея и количеством цветов. Минимальный объем видеопамяти должен быть таким, чтобы в него помещался один кадр (одна страница) изображения. Например, для сетки 640 х 480 и черно-белого изображения минимальный объем видеопамяти должен быть таким:

640 • 480 • 1 бит = 307 200 битов = 38 400 байтов.

Это составляет 37,5 Кбайт.

Для работы с 256-цветной палитрой на мониторе с разрешением 1024 х 768 минимальный объем видеопамяти составляет 768 Кб.

На современных высококачественных дисплеях используется палитра более чем из 16 миллионов цветов (b = 24 бита). Требуемый объем видеопамяти в этом случае — несколько мегабайтов.

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

Коротко о главном

Информация в видеопамяти — это двоичные коды, обозначающие цвета пикселей на экране.

Для кодирования двух цветов достаточно 1 бита на пиксель; четырех цветов — 2 битов; восьми цветов — 3 битов; шестнадцати цветов — 4 битов и т. д. Количество цветов К и размер кода в битах (битовая глубина цвета) b связаны формулой К = 2b.

Из трех базовых цветов можно получить 8 различных цветов. Большее число цветов получается путем управления интенсивностью базовых цветов.

Минимально необходимый объем видеопамяти зависит от размера сетки пикселей и от количества цветов. Обычно в видеопамяти помещается несколько страниц (кадров) изображения одновременно.

Вопросы и задания

1. Какая информация содержится в видеопамяти?

2. Сколько битов видеопамяти на один пиксель требуется для хранения двухцветного; четырехцветного; восьмицветного; шестнадцатицветного изображения?

3. Какие цвета получаются из смешения красного и синего, красного и зеленого, зеленого и синего цветов?

Читайте также:  Какие витамины содержится в ананасе

4. Сколько цветов будет содержать палитра, если каждый базовый цвет кодировать двумя битами?

5. Придумайте способ кодирования цветов для 256-цветной палитры.

6. Пусть видеопамять компьютера имеет объем 512 Кбайт. Размер графической сетки — 640 х 480. Сколько страниц экрана одновременно разместится в видеопамяти при палитре из 16 цветов; 256 цветов?

Электронное приложение к уроку

Cкачать материалы урока

Источник

Процесс построения трехмерного изображения

Этот процесс – 3D-рендеринг – похож на создание фотографии-натюрморта: большую часть времени занимает расположение объектов в кадре, а затем делается моментальный «снимок», результаты которого выводятся на экран. В отличие от фотографии, процедура рендеринга при синтезе компьютерного изображения в реальном времени – например, в игре – повторяется несколько десятков раз в секунду (другой вариант: рендеринг производится заранее, а в итоге получается статичная картинка или видеоролик с высокой степенью реалистичности).
Исходным материалом для рендеринга является множество треугольников различного размера, из которых складываются все объекты виртуального мира: пейзаж, игровые персонажи, монстры, оружие и т.д. Однако сами по себе модели, созданные из треугольников, выглядят как проволочные каркасы. Поэтому на них накладываются текстуры – цветные двухмерные «обои». И текстуры, и модели помещаются в память графической карты, а дальше, при создании каждого кадра игрового действия выполняется цикл рендеринга, состоящий из нескольких этапов. 
1. Игровая программа отправляет графическому процессору информацию, описывающую игровую сцену: состав присутствующих объектов, их окраску, положение относительно точки наблюдения, освещение и видимость. Передаются и дополнительные данные, характеризующие сцену и позволяющую видеокарте увеличить реалистичность получаемого изображения, добавив туман, размытие, блики и т.д.
2. Графический процессор располагает трехмерные модели в кадре, определяет, какие из входящих в них треугольников находятся на виду и отсекает скрытые другими объектами или, например, тенями.Затем создаются источники света и определяется их влияние на цвет освещаемых объектов. Этот этап рендеринга называется «трансформация и освещение» (T&L – Transformation & Lighting).
3. На видимые треугольники накладываются текстуры с применением различных технологий фильтрации. Билинейная фильтрация предусматривает наложение на треугольник двух версий текстуры с различным разрешением. Результатом ее использования являются хорошо различимые границы между областями четких и размытых текстур, возникающие на трехмерных поверхностях перпендикулярно направлению обзора. Трилинейная фильтрация, использующая три варианта одной текстуры, позволяет создать более мягкие переходы.

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

Такой метод фильтрации текстур задается в настройках драйвера видеоадаптера либо непосредственно в компьютерной игре. Кроме того, можно изменять силу анизотропной фильтрации: 2х, 4х, 8х или 16х – чем больше «иксов», тем более четкими будут изображения на наклонных поверхностях. Но при увеличении силы фильтрации возрастает нагрузка на видеокарту, что может привести к снижению скорости работы и к уменьшению количества кадров, генерируемых в единицу времени.

На этапе текстурирования могут использоваться различные дополнительные эффекты. Например, наложение карт среды (Enironmental Mapping) позволяет создавать поверхности, в которых будет отражаться игровая сцена: зеркала, блестящие металлические предметы и т.д. Другой впечатляющий эффект получается с применением карт неровностей (Bump Mapping), благодаря которому свет, падающий на поверхность под углом, создает видимость рельефа.
Текстурирование является последним этапом рендеринга, после которого картинка попадает в кадровый буфер видеокарты и выводится на экран монитора. 

Электронные компоненты видеокарты

Теперь, когда стало понятно, каким образом происходит процесс построения трехмерного изображения, можно перечислить технические характеристики компонентов видеокарты, которые определяют скорость процесса. Главными составными частями видеокарты являются графический процессор (GPU – Graphics Processing Unit) и видеопамять. 

Графический процессор

Одной из основных характеристик этого компонента (как и центрального процессора ПК), является тактовая частота. При прочих равных условиях, чем она выше, тем быстрее происходит обработка данных, а следовательно – увеличивается количество кадров в секунду (FPS – frames per second) в компьютерных играх. Частота графического процессора – важный, но не единственный, влияющий на его производительность параметр – современные модели производства Nvidia и ATI, имеющие сопоставимый уровень быстродействия, характеризуются различными частотами GPU.

Для адаптеров Nvidia, обладающих высокой производительностью, характерны тактовые частоты GPU от 550 МГц до 675 МГц. Частоту работы графического процессора меньше 500 МГц имеют «середнячки» и дешевые низкопроизводительные карты.
В то же время GPU «топовых» карт производства ATI имеют частоты от 600 до 800 МГц, и даже у самых дешевых видеоадаптеров частота графического процессора не опускается ниже 500 МГц.

Читайте также:  Какие вещества содержаться в почве

Однако, несмотря на то, что графические процессоры Nvidia обладают меньшей частотой, чем GPU, разработанные ATI, они обеспечивают, по крайней мере, такой же уровень производительности, а зачастую – и более высокий. Дело в том, что не меньшее значение, чем тактовая частота, имеют другие характеристики GPU.

1. Количество текстурных модулей (TMU – Texture Mapping Units) – элементов графического процессора, выполняющих наложение текстур на треугольники. От количества TMU напрямую зависит скорость построения трехмерной сцены.
2. Количество конвейеров рендеринга (ROP – Render Output Pipeline) – блоков, выполняющих «сервисные» функции (пару примеров, pls). В современных графических процессорах ROP, как правило, меньше, чем текстурных модулей, и это ограничивает общую скорость текстурирования. К примеру, чип видеокарты Nvidia GeForce 8800 GTX имеет 32 «текстурника» и 24 ROP. У процессора видеокарты ATI Radeon HD 3870 только 16 текстурных моделей и 16 ROP.

Производительность текстурных модулей выражается в такой величине как филлрейт – скорость текстурирования, измеряемая в текселах за секунду. Видеокарта GeForce 8800 GTX имеет филлрейт в 18,4 млрд текс/с. Но более объективным показателем является филлрейт, измеряемый в пикселах, так как он отражает скорость работы ROP. У GeForce 8800 GTX эта величина равна 13,8 млрд пикс./с. 
3. Количество шейдерных блоков (шейдерных процессоров), которые – как следует из названия – занимаются обработкой пиксельных и вершинных шейдеров. Современные игры активно используют шейдеры, так что количество шейдерных блоков имеет решающее значение для определения производительности.

Не так давно графические процессоры имели отдельные модули для выполнения пиксельных и вершинных шейдеров. Видеокарты Nvidia серии GeForce 8000 и адаптеры ATI Radeon HD 2000 первыми перешли на унифицированную шейдерную архитектуру. Графические процессоры этих карт имеют блоки, способные обрабатывать как пиксельные, так и вершинные шейдеры – универсальные шейдерные процессоры (потоковые процессоры). Такой подход позволяет полностью задействовать вычислительные ресурсы чипа при любом соотношении пиксельных и вершинных расчетов в коде игры. Кроме того, в современных графических процессорах шейдерные блоки часто работают на частоте, превышающей тактовую частоту GPU (например, у GeForce 8800 GTX эта частота составляет 1350 МГц против «общих» 575 МГц).

Обращаем ваше внимание на то, что компании Nvidia и ATI по-разному считают количество шейдерных процессоров в своих чипах. К примеру, Radeon HD 3870 имеет 320 таких блоков, а GeForce 8800 GTX – только 128. На самом деле, ATI указывает вместо целых шейдерных процессоров их составные компоненты. В каждом шейдерном процессоре содержится по пять компонентов, так что общее количество шейдерных блоков у Radeon HD 3870 – всего 64, поэтому и работает эта видеокарта медленнее, чем GeForce 8800 GTX. 

Память видео карты

Видеопамять по отношению к GPU выполняет те же функции, что и оперативная память – по отношению к центральному процессору ПК: она хранит весь «строительный материал», необходимый для создания изображения – текстуры, геометрические данные, программы шейдеров и т.д. 

Какие характеристики видеопамяти влияют на производительность графической карты

1. Объем. Современные игры используют огромное количество текстур с высоким разрешением, и для их размещения требуется соответствующий объем видеопамяти. Основная масса выпускаемых сегодня «топовых» видеоадаптеров и карт среднего ценового диапазона снабжается 512 Мб памяти, которая не может быть увеличена впоследствии. Более дешевые видеокарты оснащаются вдвое меньшим объемом памяти, для современных игр его уже недостаточно. 

В случае нехватки памяти графический процессор вынужден постоянно загружать текстуры из оперативной памяти ПК, связь с которой осуществляется гораздо медленнее, в результате производительность может заметно снижаться. С другой стороны, чрезмерно большой объем памяти может не дать никакого увеличения скорости, так как дополнительное «место» просто не будет использоваться. Покупать видеоадаптер с 1 Гб памяти имеет смысл только в том случае, если он принадлежит к «топовым» продуктам (видеокарты ATI Radeon HD 4870, Nvidia GeForce 9800, а также новейшие карты серии GeForce GTX 200). 

2. Частота. Этот параметр у современных видеокарт может изменяться от 800 до 3200 МГц и зависит, в первую очередь, от типа используемых микросхем памяти. Чипы DDR 2 могут обеспечить рабочую частоту в пределах 800 МГц и используются только в самых дешевых графических адаптерах. Память GDDR 3 и GDDR 4 увеличивает частотный диапазон вплоть до 2400 МГц. Новейшие графические карты ATI Radeon HD 4870 используют память GDDR-5 с фантастической частотой – 3200 МГц.

Частота памяти, как и частота графического процессора, оказывает большое влияние на производительность видеокарты в играх, особенно при использовании полноэкранного сглаживания. При прочих равных условиях, чем больше частота памяти, тем выше быстродействие, т.к. графический процессор будет меньше «простаивать» в ожидании поступления данных. Частота памяти в 1800 МГц является нижней границей, отделяющей высокопроизводительные карты от менее быстрых.

Читайте также:  В каком детском питании содержится гмо

3. Разрядность шины видеопамяти гораздо сильнее влияет на общую производительность карты, чем частота памяти. Она показывает, сколько данных может передать память за один такт. Соответственно, двукратное увеличение разрядности шины памяти эквивалентно удвоению ее тактовой частоты. Основная масса современных видеокарт имеют 256-битную шину памяти. Уменьшение разрядности до 128 или, тем более, до 64 бит наносит сильный удар по быстродействию. С другой стороны, в самых дорогих видеокартах шина может быть «расширена» до 512 бит (пока этим может похвастаться лишь новейший GeForce GTX 280), что оказывается весьма кстати, принимая во внимание мощность их графических процессоров.

Где найти информацию о технических характеристиках видеокарты

Если графическая карта обладает некими выдающимися параметрами (высокая тактовая частота процессора и памяти, ее объем), то они, как правило, указываются непосредственно на коробке. Но наиболее полные спецификации видеоадаптеров и GPU, на которых они основаны, можно найти только в Интернете. Общая информация выкладывается на корпоративных сайтах производителей графических процессоров: Nvidia (www.nvidia.ru) и ATI (www.ati.amd.com/ru). Подробности можно узнать на неофициальных веб-сайтах, посвященных видеокартам – www.nvworld.ru и www.radeon.ru. Хорошим подспорьем станет электронная энциклопедия Wikipedia (www.ru.wikipedia.org). Пользователи, покупающие карту с прицелом на разгон могут воспользоваться ресурсом www.overclockers.ru.

Одновременное использование двух видеокарт

Для того чтобы получить максимальную производительность, можно установить в компьютер сразу две видеокарты. Производители предусмотрели для этого соответствующие технологии – SLI (Scalable Link Interface, используется картами Nvidia) и CrossFire (разработка ATI). Для того чтобы воспользоваться ими, материнская плата должна не только иметь два слота PCI-E для видеокарт, но и поддерживать одну из названных технологий. Многие «материнки» на чипсетах Intel могут использовать платы ATI в режиме CrossFire, а вот объединить в одну «упряжку» две (или даже три!) видеокарты производства Nvidia могут лишь платы на чипсетах этой же фирмы. В случае, если материнская плата не обладает поддержкой этих технологий, две видеокарты смогут с ней работать, но в играх будет использоваться только одна, а вторая лишь даст возможность выводить изображение на пару дополнительных мониторов.
Заметим, что использование двух видеокарт не приводит к удвоению производительности. Средний результат, на который стоит рассчитывать – 50% прироста скорости. Кроме того, весь потенциал тандема будет раскрыт лишь при использовании мощного центрального процессора и монитора с высоким разрешением. 

Что такое шейдеры

Шейдеры – микропрограммы, присутствующие в коде игры, с помощью которых можно изменять процесс построения виртуальной сцены, открывая возможности, недостижимые при использовании традиционных средств 3D-рендеринга. Современная игровая графика без шейдеров немыслима.

Вершинные шейдеры изменяют геометрию трехмерных объектов, благодаря чему можно реализовать естественную анимацию сложных моделей игровых персонажей, физически корректную деформацию предметов или настоящие волны на воде. Пиксельные шейдеры применяются для изменения цвета пикселей и позволяют создавать такие эффекты, как реалистичные круги и рябь на воде, сложное освещение и рельеф поверхностей. Кроме того, с помощью пиксельных шейдеров осуществляется постобработка кадра: всевозможные «кинематографические» эффекты размытия движущихся объектов, сверхъяркого света и т.д.

Существует несколько версий реализации шейдерной модели (Shader Model). Все современные видеокарты поддерживают пиксельные и вершинные шейдеры версии 4.0, обеспечивающие по сравнению с предыдущей – третьей – версией более высокую реалистичность эффектов. Shader Model 4.0 поддерживается API DirectX 10 , которая работает исключительно в среде Windows Vista. Кроме того, сами компьютерные игры должны быть «заточены» под DirectX 10.

Нужна ли AGP-видеокарта старой системе

Если «материнка» вашего ПК оснащена портом AGP, возможности апгрейда видеокарты сильно ограничены. Максимум, который может себе позволить обладатель такой системы – это видеокарты серии Radeon HD 3850 фирмы AMD (ATI).

По современным меркам, они обладают производительностью ниже среднего. Кроме того, подавляющее большинство материнских плат с поддержкой интерфейса AGP предназначено для устаревших процессоров Intel Pentium 4 и AMD Athlon XP, так что общее быстродействие системы все равно будет недостаточно высоким для современной трехмерной графики. Только на материнские платы для процессоров AMD Ahtlon 64 с разъемом Socket 939 стоит устанавливать новые видеокарты с портом AGP. Во всех остальных случаях лучше купить новый компьютер с интерфейсом PCI-E, памятью DDR 2 (или DDR 3) и современным ЦП.

Источник: compline-ufa.ru

Спасибо за прочтение! Подписывайтесь и ставьте лайк. Этим Вы очень поможете в развитии блога!

Источник