Зачем нужен графический режим в компьютере

Обновлено: 04.07.2024

Занятие 1: Графический режим. Инициализация графического режима. Построение точки, линии.

Стандартное состояние компьютера после запуска Турбо Паскаля – текстовый режим. Для того, чтобы использовать его графические средства, программист должен "определенным образом инициировать режим работы дисплейного адаптера". В графическом режиме работой дисплейного адаптера управляет графический драйвер.

Драйвер – это специальная программа, которая управляет техническими средствами компьютера. Для всех существующих типов адаптеров фирма Borland разработала графические драйверы (они имеют расширение . bgi и находятся на диске в одноименном подкаталоге).

Необходимые процедуры и функции для работы с графикой собраны стандартном модуле – Graph .

Инициализация графики производится с помощью процедуры InitGraph , которая имеет вид:

InitGraph ( GraphDriver , GraphMode , Path );

где переменные GraphDriver и GraphMode имеют тип Integer , а переменная Path имеет тип String .

То, что записано в скобках, называется параметрами вызова процедуры (подробнее с данным вопросом мы ознакомимся позднее в теме “Процедуры и функции”), а сейчас рассмотрим параметры GraphDriver, GraphMode и Path.

GraphDriver – целая переменная, определяющая тип драйвера. Процедура загружает драйвер в оперативную память и переводит адаптер в графический режим работы. Тип драйвера должен соответствовать типу графического адаптера. Для указания типа драйвера в модуле предопределены следующие константы:

Целая переменная GraphMode задает режим работы графического адаптера. Многие адаптеры могут работать в нескольких режимах. Например, переменная GraphMode в момент обращения к InitGraph может иметь одно из следующих значений для адаптера VGA:

VGALo = 0; VGAMed = 1; VGAHi = 2;

Примечание : Более подробно о переменной Mode можно узнать в справочном руководстве по TurboPascal .

Теперь представьте такой вариант: Вам нужно написать программу на языке Pascal с использованием графических возможностей компьютера. Хорошо, если это – программа для компьютера с известным адаптером. А если нет, как действовать в этом случае? Выход один. Если нам неизвестен тип адаптера или программа должна работать с любым адаптером, необходимо обращаться к InitGraph с запросом на автоматическое определение драйвера.

Это происходит следующим образом: переменной GraphDriver присваиваем значение detect. В этом случае компьютер сам определит необходимый драйвер и подберет наилучший режим.

GraphDriver,

GraphMode : integer;

GraphDriver := detect;

InitGraph(GraphDriver, GraphMode, Path);

Для получения графического изображения нужно заставить светиться заданным цветом определенную группу пикселей (точек). Это можно делать в программе, но ваша работа тогда станет очень трудоёмкой. Чтобы облегчить труд программиста существует модуль Graph, в котором содержиться 79 полезных процедур и функций, десятки стандартных констант и типов данных (например, процедуры рисования линии, окружности и др.). Чтобы воспользоваться этим модулем нужно сначала его подключить. Для этого в программе записывают строчку: Uses Graph .

Условно весь модуль Graph можно подразделить на несколько функциональных групп по выполняемым действиям. Рассмотрим эти группы (внутри групп взяты основные функции, необходимые нам для первоначального ознакомления с графикой):

1) Инициализация графики, подготовительные работы, управление цветом, закрытие режима:

установление (инициализация) графического режима работы

завершение работы с графикой

заливка замкнутого контура выбранным типом и цветом палитры

возврат в текстовый режим

выбор и установка нового цвета закраски фона

выбор и установка нового текущего цвета

выбор и установка нового шаблона и цвета заполнения

2) Процедуры и функции для управления курсором и видеостраницами:

очистка текущего устройства вывода

очистка текущего окна

получение максимально доступной координаты по оси X

получение максимально доступной координаты по оси Y

получение текущего цвета точки экрана

получить значение координаты X

получить значение координаты Y

переместить курсор из данной текущей точки на заданное приращение.

переместить курсор из данной текущей точки в заданную точку

3). Процедуры и функции для работы с "графическими примитивами":

Рисует трехмерную полосу

Рисует эллиптическую дугу или эллипс

Рисует заполненный эллипс

Line, LineRel, LineTo

Рисует сектор эллипса

4) Процедуры для работы с текстом

Итак, для запуска графической системы нам необходимо:

1. Подключить модуль GRAPH – библиотеку графических процедур:

2. Установить графический режим с помощью двух переменных:

GraphDriver, GraphMode: integer;

InitGraph(GraphDriver, GraphMode, '..\BGI');

Задание . Наберите шаблон для программы, работающей в графическом режиме. Нам он понадобиться в дальнейшем.

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

F 10 – Options – Directories

В окне EXE & TPU directory набрать ..\ BGI

Клавишей TAB перейти к окну Unit directories и набрать ..\ BGI

Клавишей TAB перейти к ОК и нажать Enter.

Система координат в графическом режиме.

Любая информация при работе в графическом режиме на экране монитора представлена совокупностью светящихся точек – пикселей, которые определяются цветом и координатами – положением относительно левого верхнего угла экрана с координатами (0,0).

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

Чтобы узнать максимальные координаты экрана в текущем режиме работы, воспользуемся стандартными функциями GetMaxX и GetMaxY . Для этого наберите небольшую программу:

GraphDriver , GraphMode : integer ;

InitGraph(GraphDriver, GraphMode, ‘..\BGI’);

Writeln( GetMaxX , 'x', GetMaxY );

Примечание . Для нашего графического режима обычно значение максимальной координаты X равно 640 пикселям, а Y– 480 пикселям.

Чтобы точно строить изображение на экране, Вам нужно сначала нарисовать, как это должно выглядеть на бумаге. Для этого начертите в тетради систему координат графического режима.

Итак, отсчет начинается с верхнего левого угла с координатами (0;0), значение Х – столбец, отсчет слева направо; значение Y – строка, отсчет сверху вниз.

Чтобы строить изображение, нужно указать точку начала вывода. В графическом режиме нет видимого курсора, но есть так называемый невидимый текущий указатель ( Current Pointer ). После инициализации графического режима указатель стоит в точке (0;0). Чтобы переместить его в нужное место используют следующие процедуры:

MoveTo (X, Y) , где переменные X, Y типа Integer – перемещает текущий указатель в точку с координатами (X,Y).

Например , MoveTo (200, 100)

MoveRel (dX, dY) , где переменные dX, dY типа Integer – перемещает текущий указатель по горизонтали на расстояние, равное dX пикселям, а по вертикали на расстояние, равное dY пикселям. (Relation (англ.) – относительно)

Например , если после выполнения предыдущей процедуры текущий указатель находится в точке (200, 100), то после выполнения процедуры MoveRel (25, 150) он будет находится в точке с координатами (225, 250).

PutPixel(X, Y, Color) , где переменные X, Y типа Integer, а Color типа Word – процедура выводит точку заданного цвета Color в точку с координатами (X, Y).

Задание . Наберите в теле программы следующие процедуры PutPixel(300, 150, Red), PutPixel(45, 420, 9) и просмотрите их действие.

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


2. Почему в видеосист еме испол ьзуют и текс товый, и графический реж имы?

Г рафический режим тр ебует от к омпь ютера значит ельных усилий и в связи с этим на маломощных к омпьютерах часто работает ме дленно. Поэтому в некоторы х

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

3. Можно ли обойтись то лько графическим реж имом? Если да, то ка кие характеристики должна при э том иметь ПЗВМ?

Можно, т .к. существуют функции выво да текста в графическом ре жиме. Необх одим о иметь видеоадапт ер, поддерживающий графиче ский режим.

4. Как влияет размер видео памяти на характеристики графическ ого режима?

Размер видеопамяти влияе т на такие характеристики графическ ого режи ма как мак симальное разрешение и ко личество воспроизво д имых цветов. Че м больше

размер видеопамяти, те м больше цвет ов може т поддерживать графически й режим, а также т ем больше разрешение экрана.

5. Зачем нуже н видеоадаптер в графическ о м режиме?

Видеоадаптер нуж ен для обработки поступающей и нформации и выво д а ее на экран монитора. Т акж е видеоадаптер об ладает видеопамятью, которая

6. Назовите основные характерист ики графического ре жима, чем они обусловлены?

1) Разрешение экрана – плотность пик селей на монит оре или их ко л ичество на едини цу площади. Чем бол ь ше разрешение, тем д етальнее изображение.

7. Существуют ли окна в г рафическом реж и ме? Зачем они нужны?

Окна в графическом ре жиме существуют . В С++ в графическое окно можно в ыводить т екст и раз личные графические примитивы. При эт ом по же ла нию

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

пиксе л ов, маску заполнения и др угие характеристики.

8. Какие функции инициализаци и графического ре жима Вы знаете?

getgraphmode () - возвращает теку щий графический реж им, установленный для графическ ой мо дели функциями initgraph( ) или setgraphmode().

getmaxmode() - возвращает число, опред еляющ ее максимально возмож ный для инсталлированного BGI-драйвера режим

getmaxx() , getmaxy() - возвращают ма ксимальные значения коо рдинат X и Y для т екущего в идеорежима.

getmodename(int mode_number) - возвращает ук азате ль на ASCII-строку символов, со держащую имя симв олической константы, со ответству ющей режиму

setgraphmode(in t mode) - устанавливает видеоси стему в реж им, заданный значением пере менной mode, и сбрасывает значения внутренних пере мен ных

restorecrtmo de() - возвращает видеоадаптер в режи м, в кот ором он был до выпо лн ения инициализации системы графики.

9. Какие функции обслуживан ия графических окон Вы знаете ?

setviewport (int le ft, int top, int righ t , int bottom, in t clip) - описывает новое графическое окно с к оордината ми (стол бец , строка) левого верхн его уг ла left, top,

коор динатами правого нижнего уг ла right, bottom и значением ф лага усечения clip. В ка ч естве начала текущих коор динат для функций графическог о вывода

Помимо явного задания окна функц ией setviewport(), оно специфицир уется и неяв но при выполнени и функций initgraph() , setgraphmode( ) и graphde faults(). При

каждом и х выполнении в ка честве графического окна устанавливает ся весь экран.

getx (void), gety (void) - возвращают т екущ ие коор д инаты X и Y , измеряемые относите льно коорд инат левого вер х него уг ла текущего графическо го окна.

moveto (in t x , int y) - устанавливает нов ое значение коор д инат текущ ей позиции. Аргументы х, у задают новы е значения коор д инат текущ ей позиции

относите ль но коор динат левого верхнего уг ла текущего графическ ого окна.

moverel(int dx, in t dy) - устанавливает новое значение коо рдинат т екущей позиции.

10. Есть ли курсор в гра фи ческом ре жиме? Если да, т о как можно и м управлять?

Есть т екущая позиция, кот орой можно управлят ь с помощью функции gotoxy().

11. Что так о е пиксел? Зач ем нужен атри бут пиксе ля?

Изображение на эк ране строится из небольши х точек - так называе мых пикселов (pix el - Picture ELement). Число пик селов в строке и число сами х строк различно

А трибут пиксела (т .е. существенная характеристика пик села) – это опреде ленное число битов в адресном пространстве ПК. Изображ ение каждог о пикселя

getpixel( in t x, int у) - опред еляет , лежит ли пиксе л с координатами (х, у) в т екущем графическ ом окне, и, если лежит , возвращает ко д цвета этого пик села. В

putpixel(in t x, int у , int pix elcolor) - опреде ляет, ле жит ли пиксе л с координатами (х, у) в текуще м графическом окне, и, если лежит , выводит на экран пик сел, код

цвета кот орого равен pixelcolor . В противном случае цвет пиксе ла не изменяется.

Использ уя функцию putpix el(), можно "стере ть" пиксел, если в ывести его с ко дом цвета фона.

13. Ско лько цвет ов фона и символов мо жно о д новременно использо в ать в графическом ре жиме и почему?

int getma xcolor(void) - возвращает мак симальное значение ко да цвета пиксела минус 1. Это значение позволяе т установить максимальное чи сло цветов, ко торое

может о тобража ться на экране. В зависимости от ре жима, в кот ором проведе на инициализация системы графи ки, возвращаемое значение мож ет быть равно 1,

getbk color(void) - возвращает це л ое число, равное ко ду цвета фона.

getmaxc olor(void) - возвращает максимальное знач ение ко да ц вета пиксе ла минус 1.

setbk color (int co lor) - устанавливает новый цвет пик с елов, имеющих к од цв ета 0.

setcolor (in t color) - устанавливае т цвет , использ уемый функц иями графическог о выво да в значение, заданное аргумент ом color .

15. Что называется графич ес ким примитивом и какие фу нкции обслуживания графических примитивов Вы знает е ?

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

arc(int x, int y , int s tangle, in t endangle, int radius) - выводит дугу окру жности радиусом radius.

void bar(int left, int t op, int righ t , int bottom) - выво дит полосу , заполненную текущим цвет ом с использование м текущей маски запо лнения.

circle( int x, int y , int ra dius) - выводит окружность.

ellipse (int x, in t y , int stangle, in t endangle, int xradius, int yradius) - выводит э ллиптическую дугу или полный эллипс.

Встроенная или дискретная видеокарта в ноутбуке — чем отличаются и как работают

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

Что такое встроенная и дискретная видеокарта

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


Видеокарта для слота MXM

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

Основные отличия и использование памяти


Дискретная видеокарта, установленная в слот MXM

Дискретная видеокарта, даже если она распаяна на плате ноутбука и не является съемной, имеет собственную видеопамять, что позволяет ей экономить ОЗУ ноутбука и работать быстрее. Помимо этого, дискретная видеокарта имеет собственную систему питания и охлаждения, что обязательно отражается на стоимости ноутбука, его энергопотреблении и времени автономной работы. Такие видеокарты, например, GeForce RTX 3060 с технологией Max-Q, позволяют играть в самые требовательные игры на ноутбуке, сохраняя все его плюсы, в том числе компактность и небольшой вес.

Распространенные встроенные бюджетные видеокарты, например, Intel UHD Graphics 600 или Radeon RX Vega 2, обладают высокой энергоэффективностью и низкой ценой. Они позволяют создать компактный и легкий ноутбук с возможностью длительной автономной работы. При этом встроенная графика не только обеспечит декодирование видео высокого разрешения, разгрузив процессор, но и ускорит работу браузера. А заодно даст возможность поиграть во множество нетребовательных игр.

Как встроенная и дискретная видеокарта работают в паре


Разработчики ноутбуков стали совмещать встроенную и дискретную видеокарту в одном устройстве, получая экономичность и высокое время автономной работы при работе от батареи с возможностью играть в требовательные игры или выполнять тяжелые рабочие задачи при работе от сети. Иногда такой тип совмещенных видеоускорителей называют гибридной видеокартой.

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

Чем отличаются дискретные видеокарты в ноутбуке и ПК


На обычном ПК у пользователя имеется огромная свобода действий в работе с дискретной видеокартой. Ее легко устанавливать в ПК, подключать к ней питание, чистить от пыли и даже есть возможность менять на ней систему охлаждения или ставить сразу пару видеокарт в один ПК. На ноутбуке таких широких возможностей нет. Даже если видеокарта подключена через слот стандарта MXM (MXM-I, MXM-II, MXM-III, MXM-HE), являющийся мобильной редакцией PCI Express, совмещенной с линиями передачи видеосигнала, поменять ее не так просто.


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

Еще одно важное отличие дискретной видеокарты ноутбука от ее десктопной версии состоит в сильном снижении энергопотребления, чтобы вписаться в рамки, накладываемые компактностью и мобильностью. Частоты и напряжения видеокарты ноутбука сильно урезаются, вызывая иногда двукратное снижение энергопотребления. К примеру, десктопная видеокарта nVidia GeForce RTX 3070 имеет параметры TBP/TDP, равные 220 ваттам, а ее мобильные версии получили варианты исполнения с 80 и 115 ваттами.


Столь радикальное снижение энергопотребления невозможно произвести без потери производительности. В играх в разрешении Full HD 115-ваттная мобильная версия GeForce RTX 3070 отстает от десктопной в среднем на 30–50%, а 80-ваттная и вовсе оказывается слабее в полтора раза, в некоторых играх разница достигает даже 70–80%. Такая огромная разница делает видеокарты мобильной и десктопной версии продуктами совершенно различных классов, и это нужно учитывать при покупке.

Может ли встроенная видеокарта быть быстрее дискретной?


На первый взгляд такое различие в производительности видеокарт кажется абсурдом — зачем производителю дополнительно устанавливать более слабую видеокарту? Но на практике такое сочетание иногда встречается в бюджетных моделях ноутбуков, например, в HP Laptop 15-gw0040ur.

В этой модели установлена встроенная в процессор Athlon Gold 3150U видеокарта Radeon RX Vega 3, дополнительно имеется схожая по производительности дискретная видеокарта Radeon 620, имеющая 2 ГБ видеопамяти стандарта GDDR5, но с разрядностью шины памяти, равной всего лишь 64 битам.

В некоторых играх встроенная видеокарта Radeon RX Vega 3 опережает Radeon 620, особенно если в ноутбуке установлен достаточный объем ОЗУ, имеющий прямое влияние на производительность встроенной графики. Производительность встроенной видеокарты может подрасти и из-за оптимизации в новых драйверах, ведь в них делают упор на самые массовые продукты, к которым и относится Radeon RX Vega 3.


В популярной игре Fortnite Radeon RX Vega 3 опережает Radeon 620

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

Правда ли, что встроенные видеокарты AMD намного быстрее видеокарт Intel?


Встроенная графика Radeon RX Vega появилась в 2018 году и сразу произвела фурор на рынке, занятом массовыми решениями от Intel, такими как HD Graphics 610 и HD Graphics 630. Младшее решение — графика Radeon RX Vega 3, встраиваемая в процессоры Athlon G, уверенно обходит в играх HD Graphics 610, а старшие модели, Radeon RX Vega 8, 10 и 11, не только обходят по скорости любую встроенную графику от Intel, но и на равных соревнуются с дискретными видеокартами Radeon RX 550 и GeForce GT 1030.

Пользователи возлагали надежды на новую графику Intel UHD 750 с архитектурой Xe-LP, встраиваемую в процессоры Rocket Lake-S, но, несмотря на неплохую прибавку в производительности по сравнению с графикой прошлого поколения, Intel UHD 630, достичь уровня Radeon RX Vega 8 в большинстве игр решению от Intel не удалось.

Встроенная графика Radeon RX Vega дала пользователям недорогих ноутбуков играть в современные игры, пусть даже и на минимальных настройках. Но надо учитывать, что для реализации ее потенциала в ноутбуке должен стоять солидный объем ОЗУ, работающей в двухканальном режиме.

Что выбрать?


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

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

Если ваши основные задачи:

  • серфинг в интернете
  • общение по видеосвязи в мессенджерах
  • просмотр видео
  • офисная работа
  • несложные приложения для обработки видео и графики
  • запуск нетребовательных, старых или браузерных игр

Тогда вам стоит присмотреться к ноутбукам с встроенной видеокартой, например, Intel UHD Graphics: вы не только сэкономите, но и получите устройство, позволяющее дольше работать автономно, с низким уровнем шума и небольшим нагревом.

Если вы хотите получить большую производительность в играх, запускать некоторые новинки на минимальных настройках, а в такие хиты, как The Elder Scrolls V: Skyrim или Grand Theft Auto V, играть с комфортом, то стоит присмотреться к ноутбукам с встроенной видеокартой Radeon RX Vega 8, 10 или 11. Стоят они вполне демократично, например, Acer Aspire 3 A315-23-R8D5.

Если ваши задачи включают в себя:

  • запуск самых требовательных современных игр
  • работу в сложных графических приложениях типа Photoshop или CorelDRAW
  • работу в видеоредакторах, таких как Adobe Premiere Pro
  • ведение видеоблога и стримов

В этом случае стоит присмотреться к игровым моделям с производительной дискретной видеокартой, например, GeForce RTX 3060. Цена на них уже кусается и может вдвое или втрое превышать цену бюджетных устройств, но вы получите ноутбук, способный полностью заменить мощный ПК в работе и играх и дающий свободу передвижения.

Выводы

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

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

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

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

Графический режим является основным режимом работы видеосистемы современного ПК, например под управлением Windows. В графическом режиме на экран монитора можно вывести текст, рисунок, фотографию, анимацию или видеосюжет. В графическом режиме в каждой ячейке кадрового буфера (матрицы NxMn-разрядных чисел) содержится код цвета соответствующего пиксела экрана. Разрешение экрана при этом также равно NxМ. Адресуемым элементом экрана является минимальный элемент изображения — пиксел. По этой причине графический режим называют также режимом АРА (All Point Addressable — все точки адресуемы). Иногда число п называют глубиной цвета. При этом количество одновременно отображаемых цветов равно 2 n , а размер кадрового буфера, необходимый для хранения цветного изображения с разрешением NxMи глубиной цвета п, составляет NxMбит.

В текстовом (символьном) режиме, как и в графическом, изображение на экране монитора представляет собой множество пикселов и характеризуется разрешением NxM. Однако все пикселы разбиты на группы, называемые знакоместами, или символьными позициями (Character boxes — символьные ячейки), размером р х q. В каждом из знакомест может быть отображен один из 256 символов. Таким образом, на экране умещается M/q= M, символьных строк по N/p = N, символов в каждой. Типичным текстовым режимом является режим 80x25 символов.

Изображение символа в пределах каждого знакоместа задается точечной матрицей (Dot Matrix). Размер матрицы зависит от типа видеоадаптера и текущего видеорежима. Чем больше точек используется для отображения символа, тем выше качество изображения и лучше читается текст. Точки матрицы, формирующие изображение символа, называются передним планом, остальные — задним планом, или фоном. На рис. 4.16 показана символьная матрица 8x8 пикселов. Допустив, что темной клетке соответствует логическая единица, а светлой — логический ноль, каждую строку символьной матрицы представим в виде двоичного числа. Следовательно, графическое изображение символа можно хранить в виде набора двоичных чисел. Для этой цели используется специальное ПЗУ, размещенное на плате видеоадаптера. Такое ПЗУ называют аппаратным знакогенератором.


Рис. 4.16. Схема представления символа «А» в текстовом режиме в матрице 8x8 и ячейке знакогенератора

Совокупность изображений 256 символов называется шрифтом. Аппаратный знакогенератор хранит шрифт, который автоматически используется видеоадаптером сразу же после включения компьютера (обычно это буквы английского алфавита и набор специальных символов). Адресом ячейки знакогенератора является порядковый номер символа.

Для кодирования изображения символа на экране используются два байта: один — для задания номера символа, второй — для указания атрибутов символа (цвета символа и фона, подчеркивания, мигания, отображения курсора). Если на экране имеется NxM знакомест, то объем видеопамяти, необходимый для хранения изображения, составит Nt х Мt х 2 байт. Эту область видеопамяти называют видеостраницей. Видеостраница является аналогом кадрового буфера в графическом режиме, но имеет значительно меньший объем. В наиболее распространенном текстовом режиме (80х25 символов) размер видеостраницы составляет 4000 байт, в режиме 40х25 — 2000 байт. На практике для удобства адресации под видеостраницу отводят 4 Кбайт = 4096 байт и 2 Кбайт = 2048 байт соответственно, при этом «лишние» байты (96 и 48) не используются.

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




Другим существенным ограничением текстового режима является узкая цветовая палитра — в данном режиме может быть отображено не более 16 цветов.

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

Переход к более высокому разрешению и большей глубине цвета привел к увеличению загрузки центрального процессора и шины ввода/вывода. В целях разгрузки центрального процессора решение отдельных задач построения изображения было возложено на специализированный набор микросхем (Chipset) видеоадаптера, называемый графическим ускорителем, или акселератором. Акселератор аппаратным путем выполняет ряд действий, направленных на построение изображения.

Читайте также: