Ноутбуки   
   Софт   
   Компьютеры   
   Компьютерные фирмы   
  Меню сайта

BIOS

SSD-накопители

Акустика для ПК

Видеокарты

Видеокарты - История

Джойстики, клавиатуры и мыши

Дигитайзеры

Жесткие диски

Жесткие диски - история

Звуковые карты

Именитые люди компьютерной индустрии

История компьютеров

Карманные компьютеры

Компьютер десктоп - готовая сборка

Компьютерные фирмы

Компьютеры в теории и практике

Копировальные аппараты

Корпуса, вентиляторы, блоки питания

Маршрутизаторы, коммутаторы, хабы

Материнские платы

Модемы

Модули памяти

Мониторы

Мониторы и видеокарты - история

Новости

Ноутбуки и субноутбуки

Оборудование беспроводной связи, bluetooth, wi-fi

Оптические накопители CD, DVD, Blueray

Оргтехника

Память - история

Плоттеры

Принтеры

Процессоры

Процессоры - история

Сетевые карты

Сетевые фильтры, ИБП

Сети

Сканеры

Сменные жесткие диски

Советские ПК

ТВ-тюнеры

Типы компьютеров

Устройства архивации данных и стримеры

Факс

Флоппи-дисководы

Флэшки и всяко-разно

Шины и чипсеты - история




Главная страница Прайс-лист Интернет-магазин

Отображение пикселей на экране

Графический режим работы компьютера представляет собой наиболее сложный режим. Если использовать процедуры BIOS-ПЗУ, ориентированные на обслуживание графического режима (описаны в параграфе 8.9), то декодирование образа экрана выполняется автоматически. Это одна из причин их широкого использования. В тех случаях, когда необходимо использовать режим прямого управления, следует детально ознакомиться с материалом настоящего параграфа.
Подобно обычному телевизору, видеомонитор генерирует изображение за два прохода. На первом проходе электронный луч перемещается только по четным строкам развертки; после этого (на обратном ходе луча) сканируются все нечетные строки.
При работе в текстовом режиме это обстоятельство в расчет не принимается, поскольку функции управления формированием изображения полностью выполняет контроллер видеомонитора. В графическом режиме эти особенности необходимо учитывать.
Электронные схемы генерации изображения в графическом режиме должны воспринимать поток битов, определяющих пиксели, причем воспринимать их в том порядке, в котором сканирующий луч перемещается по экрану - сначала по четным, а затем по нечетным строкам. По этой причине образ экрана хранится не в том виде, который удобен человеку-оператору или программе; структура хранимого образа отвечает потребностям электронных схем генерации. На рис.9.1 воспроизводится эта структура.
Для того, чтобы структура хранимого образа экрана соответствовала механизму сканирования экрана, память дисплея организована в виде двух блоков, смещенными друг относительно друга на 4К. Первый блок содержит информацию о пикселях четных строк,а второй блок - о пикселях нечетных строк. Рассмотрим эти вопросы более подробно (используя в качестве примера графику с высоким разрешением).
В начале области (блока) памяти располагаются биты, управляющие процессом отображения на экране дисплея первой строки, т.е. строки с номером 0. Строка содержит 640 пикселей (графический режим с высоким разрешением), а каждый пиксель требует для индикации своего состояния 1 бит. Таким образом, для управления первой строкой требуется 640 битов или 80 байтов. Для управления следующей четной строкой (строкой с номером 2) также требуется 640 битов или 80 байтов и т.д. Самый первый бит управляет точкой экрана дисплея, находящейся на пересечении нулевой строки и нулевого столбца (0,0), следующий бит управляет точкой (0,1) и т.д. Последней точкой первой строки является точка (0,639); следом за ней идет точка (2,0) и т.д. В конце концов блок памяти, хранящий четные строки, оказывается исчерпанным, и с нового адреса, кратного 1К, начинается блок памяти, хранящий нечетные строки.
Для графического режима со средним разрешением память организована точно также, с той лишь разницей, что горизонтальная координата экрана состоит из 320 пикселей, причем каждый пиксель представлен двумя битами, позволяющими представить цветовые комбинации. Для представления строки по-прежнему требуется 80 байтов; для представления используются два блока памяти: один - для четных, а другой - для нечетных строк.
Заметим здесь, что конечный адрес памяти будет одним и тем же как для режима среднего, так и для режима высокого разрешения. Но в одном случае число пикселей вдвое меньше (при вдвое большем количестве битов, отведенных для представления каждого пикселя), а в другом случае вдвое больше (соответственно, количество битов, отведенных для представления пикселя в два раза меньше). Такой подход позволяет сохранить постоянную длину строки для обоих режимов - 640 битов или 80 байтов. Программы, приведенные в приложении (листинг 9.1), дают возможность пользователям, программирующим на Паскале, эффективно управлять любым пикселем. Эти программы осуществляют необходимые арифметические преобразования, связанные с пересчетом позиции пикселя на экране дисплея в адрес памяти, хранящей кодированный образ экрана, избавляя пользователя от рутинной работы по вычислению смещений битов и байтов.
Эффективность этих процедур становится особенно очевидной, когда требуется создавать быстродействующие программы генерации изображений. Любая программа, относящаяся к указанному классу, должна тем или иным способом переводить пиксели из активного состояния (состояние светимости) в пассивное и наоборот. Сделать это можно либо используя функции обслуживания BIOS-ПЗУ, описанные в предыдущей и в последней главах, либо упомянутые Паскаль-процедуры (листинг 9.1). Высокое быстродействие программ генерации изображений предполагает, что тот или иной фрагмент будет загружен в память графического адаптера сразу целиком, а не будет формироваться побитно. А для этого необходимо произвести декомпозицию изображения на четные и нечетные строки, после чего обеспечить их размещение в соответствующих блоках памяти. Указанное обстоятельство сильно усложняет процесс быстрой генерации изображений.
Решение задачи быстрой генерации изображений зависит от потребностей и от принятых компромиссов. Один из возможных подходов состоит в разбиении изображения на участки, помещаемые в один байт (четыре пикселя для режима среднего разрешения и восемь пикселей для режима высокого разрешения). Приняв такую схему, можно осуществлять загрузку фрагментов в память графического адаптера побайтно. Такой метод позволяет резко снизить вычислительные затраты, в противном случае, программы должны выполнять массу операций манипулирования битами, таких, например, как сдвиги, логические "И", логические "ИЛИ" и т.п. Работа с байтами повышает скорость генерации образа приблизительно в три раза, при условии, что собственно образ уже построен.
Существует и другой, более грубый способ повышения скорости генерации изображения. Его суть состоит в использовании текстовой графики (псевдографики), описываемой в следующем параграфе.


Атрибуты изображений

Основы машинной графики

Особенности воспроизведения цвета

Отображение пикселей на экране

Понятие элемента отображения (пикселя)

Представление текста (символов) в графическом режиме

Принципы формирования изображения

Псевдографический режим

Режим прямого управления видеомонитором

Символьные клавиши

Стандартный режим управления видеомонитором

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

Структура копии изображения экрана

Типы экранов видеодисплеев

Управление курсором




Немного рекламы:









































































Реклама и информация:













Счётчик Rambler's Top100