Графическая подсистема X11. Аппаратная графическая подсистема будущего

Графическая подсистема

Одним из наиболее значительных отличий ОСWindows от старой доброй MS-DOS заслуженно считается визуальный интерфейс. Нельзя не отметить, что первопроходцем в создании графической среды была отнюдь не компания Microsoft. Использующие графику прототипы разрабатывались еще в 70-х годах (Xerox Palo Alto Research Center). Пальма первенства в разработке графической ОС принадлежит фирме Apple Computer, которая в январе 1983 года сообщила о создании ОС Liza. Microsoft заявила о работе над Windows только в ноябре 1983 года, а первая версия, Windows 1.0, вышла в свет спустя ровно два года. Между прочим, за этот период Apple уже успела анонсировать знаменитый Macintosh (январь 1984 г.).

Графический интерфейс пользователя (Graphical User Interface, GUI) Windows за более чем двадцать лет существования значительно расширился и был улучшен. Основой GUI служит графический интерфейс устройства (Graphics Device Interface, GDI). По большому счету GDI является языком графического программирования. Инженеры Microsoft добились того, что Windows абстрагирована от конкретного графического устройства, будь то дисплей, принтер, плоттер и т. п. Интерфейс GDI поддерживает аппаратно-независимую графику, поэтому Windows требуется лишь драйвер конкретного устройства.

Графические функции 32-разрядной Windows в основном сосредоточены в динамически подключаемой библиотеке GDI32.DLL. Кроме того, пока еще используется 16-разрядная библиотека GDI.EXE. Свое нестандартное расширение она унаследовала еще от первых версий Windows. Эти библиотеки общаются с файлами драйверов графических устройств *.DRV. Что же умеет GDI? Очень многое:

Управлять выводом текста и шрифтами.

Управлять цветом и палитрами.

Работать с графическими примитивами (образами, путями, заливками и т. д.).

Отображать битовые образы (bitmaps, icons, cursors).

Работать с метафайлами.

Взаимодействовать с графическими устройствами.

Разработчики Borland Delphi провели огромную работу с целью упростить общение с GDI (рис. 10.1). Первое, что заслуживает похвалы: программист Delphi (в отличие от своих коллег, пишущих в среде Microsoft Visual C++) освобожден от кропотливой работы, связанной с получением и освобождением контекста устройства. Для этого создан специальный класс TCanvas (холст), инкапсулирующий в себе подавляющее большинство функций GDI и решающий проблемы с дескриптором контекста устройства.

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

Вместе с тем, если набора возможностей TCanvas для воплощения ваших художественных фантазий недостаточно, возможна работа напрямую с методами Win32 API.

В этой главе наряду с графическими функциями Delphi будут рассмотрены и многие функции GDI. Такой подход позволит создать целостную картину возможностей программирования деловой графики в Windows.

Характеристики шины AGP

Год создания: 1996

Разрядность шины данных: 32;

Частота шины: 66 МГц;

Раздельные линии адреса и данных (в отличие от PCI);

Конвейеризация операций обращения к памяти;

Максимальная пропускная способность: 532 МБ/с;

Спецификации AGP 2x, AGP 4x, AGP 8x – возможность пересылать несколько блоков данных за один такт шины. Максимальная пропускная способность AGP 8x: 2 ГБ/с;

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

Шина AGP может объединять в один пакет до 256 запросов чтения/записи ячеек оперативной памяти и получить ответы на них, объединенные в пакет длиной до 256 32-разрядных слов данных.

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

Ускоренный графический порт (AGP) -- это расширение шины PCI, чье назначение -- обработка больших массивов данных 3D графики. Intel разрабатывала AGP для решения двух проблем перед внедрением 3D графики на PCI. Во-первых, 3D графике требуется как можно больше памяти информации текстурных карт (texture maps) и z-буфера (z-buffer), который содержит информацию, относящуюся к представлению глубины изображения.

Разработчики PC имели ранее возможность использовать системную память для хранения информации о текстурах и z-буфера, но ограничением в этом подходе была передача такой информации через шину PCI. Производительность графической подсистемы и системной памяти ограничиваются физическими характеристиками шины PCI. Кроме того, ширина полосы пропускания PCI, или ее емкость, не достаточна для обработки графики в режиме реального времени. Чтобы решить эти проблемы, Intel разработала AGP.

Если определить кратко, что такое AGP, то это - прямое соединение между графической подсистемой и системной памятью. Это решение позволяет обеспечить значительно лучшие показатели передачи данных, чем при передаче через шину PCI, и явно разрабатывалось, чтобы удовлетворить требованиям вывода 3D графики в режиме реального времени.

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



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

Разрешение вашего монитора

Количество цветов

Частота, с которой происходит обновление экрана

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

Для увеличения производительности графической подсистемы настолько, насколько это возможно, приходится снижать до минимума все препятствия на этом пути. Графический контроллер производит обработку графических функций, требующих интенсивных вычислений, в результате разгружается центральный процессор системы. Отсюда следует, что графический контроллер должен оперировать своей собственной, можно даже сказать частной, местной памятью. Тип памяти, в которой хранятся графические данные, называется буфер кадра (frame buffer). В системах, ориентированных на обработку 3D-приложений, требуется еще и наличие специальной памяти, называемой z-буфер (z-buffer), в котором хранится информация о глубине изображаемой сцены. Также, в некоторых системах может иметься собственная память текстур (texture memory), т.е. память для хранения элементов, из которых формируются поверхности объекта. Наличие текстурных карт ключевым образом влияет на реалистичность изображения трехмерных сцен.

В принципе, для работы современных офисных приложений и просмотра видеофильмов вполне хватает 8Мбайт видеопамяти для разрешения 800х600 или 16 Мбайт для разрешения 1024х768. Вся остальная память, свыше этого, которая имеется сегодня в современных видеоадаптерах, тратится на сторонние нужды, в частности, для поддержки экранной графики операционной системы Windows (особенно в Windows Vista).

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

Однако, даже для офисных приложений, сегодня, если в операционной системе Windows используется интерфейс DirectX 9 или 10, объем памяти видеокарты долэен быть не менее 128 МБайт.

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

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

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

XWindow (именно Window, а не Windows: обратите на это внимание) - графическая среда для UNIX-систем. В ее основу легла клиент-серверная модель, только реализована она в пределах одной рабочей станции. Для передачи данных используется специальный протокол сетевой связи (X Network Protocol).

Первоначальный вариант XWindow был создан еще в 1987 г. Таким образом, считать, что Linux концепцией своего графического интерфейса только эксплуатирует идею, поданную Microsoft, неправильно. Другое дело, что корни Linux лежат очень глубоко, несмотря на то что эта ОС относительно молода. Традиции UNIX не позволяли навязывать пользователю какую-то одну концепцию, вследствие чего оконный режим востребован ровно настолько, насколько это соответствует реальным потребностям потребителя. Развитие свободного ПО идет по всем направлениям, поэтому успех какого-то одного не так бросается в глаза. Впрочем, именно многогранность и следует считать основным достоинством OpenSource.

Сама по себе система XWindow не является тем, что принято называть графическим интерфейсом пользователя. “Иксы” (так именуют XWindow в обиходе) - лишь его составная часть, которая не формирует изображение, а только предоставляет другим программам средства для работы с видеоподсистемой. X-сервер, запущенный “в чистом виде”, продемонстрирует пользователю серый экран, и на нем не будет ничего, кроме курсора мыши.

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

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

За настройку XWindow отвечает файл /etc/X11/xorg.conf. Он состоит из секций вида:

Section “Название секции”

Identifier “имя”

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

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

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

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

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

А может быть, пользователям просто лень разбираться в баобабообразных меню, если речь идет о редактировании всего двух строк в одном-единственном файле. Судите сами. Если вдруг вы обнаружите, что точка с запятой находятся на цифровой панели клавиатуры, а не слева внизу от кнопки Enter, а раскладки переключаются не одновременным нажатием на Ctrl и Shift, а непонятно как, то самый простой путь - внести изменения в файл xorg.conf.

Нужная нам информация находится в секции InputDevice, описывающей устройство с идентификатором Keyboard0. Строки, указывающие, что в системе используются две раскладки - английская и русская (winkeys), переключение между которыми производится привычным для пользователя Windows способом, должны выглядеть так:

Option “XkbLayout” “us,ru(winkeys)”

Option “XkbOptions” “grp:ctrl_shift_toggle,grp_led:scroll”

Параметр led:scroll указывает, что индикатором переключения будет служить лампочка включения режима скроллинга, которая все равно не используется. А если вы считаете, что переключать раскладки двумя клавишами не очень удобно, то замените grp:ctrl_shift_toggle на caps_toggle, и доселе “лишняя” клавиша Caps Lock получит оправдание для своего существования.

Секция Device нужна для описания видеоадаптеров. Там явным образом указывается название используемого драйвера, поэтому самый простой способ получить информацию об этом модуле - посмотреть содержимое xorg.conf.

Например, на вашей машине установлена видеокарта nVidia и вы сомневаетесь, что система использует фирменный драйвер, поддерживающий трехмерную графику. Откройте конфигурационный файл и посмотрите параметр Driver секции Device. Если его значение - “nvidia”, то ваши сомнения напрасны, а если - “nv”, то они имеют под собой все основания.

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

Section “Screen”

Identifier “Screen0”

Device “Card0”

Monitor “Monitor0”

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

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

Пользователям Linux XP следует запустить “Центр настройки”, где в разделе оборудования есть опция “Настройка видеосистемы”. В открывшемся окне ему предстоит выбрать модели видеоадаптера и дисплея. Со вторым всё довольно просто - достаточно знать тип монитора и поддерживаемые им разрешения. Конкретную модель указывать не нужно.

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

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

В дистрибутивах Fedora и ASPLinux конфигуратор графического режима находится в разделе “Администрирование”. Список поддерживаемых видеоадаптеров и мониторов достаточно широк - то, что пользователь найдет свою модель, практически гарантировано. В отдельной вкладке настраивается режим работы с двумя мониторами.

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

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

Во-первых, перед началом работы по настройке видеорежима сделайте резервную копию файла xorg.conf. Если что-то пойдет не так, как планировалось, то всегда можно будет восстановить предыдущую конфигурацию из консоли и запустить XWindow командой startx.

Во-вторых, если очень нужно запустить графический режим (хотя бы для того, чтобы выйти в Интернет и прочесть документацию), а перебрано уже с десяток моделей видеокарт и ни одна не подошла, то выбирайте универсальный драйвер vesa. Конечно, про оптимизацию XWindow в этом случае говорить не приходится, но что-то - это всё же лучше, чем совсем ничего.

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

Считается, что прадедушкой современной видеокарты является адаптер MDA (MonochromeDisplayAdapter), представленный в 1981 году для IBM PC. Видеокарта того времени имела 4Кбайт видеопамяти, работала только с текстовой информацией и с разрешением 720х350 точек и могла выдавать на дисплей 25 строк по 80 символов в строке. Цвет букв зависел от типа монитора: белые, изумрудные или янтарные, а сами буквы могли выводиться в обычном, подчеркнутом, инверсном (темные на светлом фоне) и мигающем режимах. Дальнейшее развитие MDA было выпущено в 1982 году известной тогда компаниейHerculesи называлосьHerculesGraphicsController(HGC). «Геркулес» отличался отMDAспособностью выводить текст в 132 колонки и 44 строки. Но и эта видеокарта не позволяла работать с графикой. Стоит заметить, что длина карты HGC была более 30 см.

Рисунок 7. Видеоадаптер HGC

И только с выходом видеоадаптера CGA (ColorGraphicsAdapter), который стал основой для последующих стандартов, появилась возможность работать с цветной графической информацией в разрешении 320х200 (4 цвета) и 640х200 (монохромный режим), при этом объём памяти видеокарты уже равнялся 16 Кбайт. Все упомянутые выше карты для соединения с ПК использовали шинуMultibus.

Следующий стандарт для видеокарт – EnhancedGraphicsAdapter(EGA), разработанный в 1984 году, позволял при разрешении 640x350 работать с 16 цветами из 64-цветной палитры одновременно. Ёмкость видеопамяти составляла теперь от 64 до 256 Кбайт, а также была заявлена совместимость с CGA и MDA. Начиная сEGA, видеоадаптеры начали использовать «широкую» шинуISA.

Все описанные выше видеокарты подключались к монитору через 9-контактный разъём и передавали информацию в цифровом виде. Только с выходом адаптера стандарта MCGA (MultiColorGraphicsAdapter– многоцветный графический адаптер) произошёл переход на аналоговый сигнал, так как палитра была увеличена до 262144 цветов (по 64 оттенка на каждый из базовых цветовRed/Green/Blue). Разрешение экрана, выдаваемое MCGA при работе с текстом, было 640х400 с 256 одновременно отображаемыми цветами, для графических приложений – 320х200 точек. Разъём для подключения к монитору приобретает привычный для нас вид – 15-контактный «D-Sub». Еще одна особенностьMCGA– точка на экране теперь сталаквадратной (раньше она была прямоугольной). Это означает, что окружность, выведенная на экран, будет действительно окружностью, а не эллипсом.

Следующим витком эволюции компьютерной видеоподсистемы является VGA (VideoGraphicsArray– графический видеомассив), который появился в 1987 году. Адаптеры VGA уже поддерживали разрешение 640х480 и 256 цветов (из палитры в 262144 цвета), объём памяти составлял 256-512 Кбайт, а соотношение сторон экрана равнялось привычным сейчас 4:3.

И наконец, в 1991 году появляются первые адаптеры SVGA (SuperVGA), позволяющие работать при разрешении 800х600 и 1024х768 точек, количество отображаемых цветов увеличилось до 65536 (HighColor) и 16,7 млн. (TrueColor). Также появляется возможность пользователю задать частоту обновления экрана монитора – до этого момента она была жёстко привязана к определённому значению. Память видеоадаптеров SVGA была уже более 1 Мбайт.

С развитием графических оболочек операционных систем (например, Windows) видеокарты взяли на себя часть вычислений по окончательному выводу изображения на экран, которые обычно производил центральный процессор: перемещение окон, рисование линий, шрифтов и другие. С появлением трёхмерных игр видеокарты обзавелись 3D-акселератором, который сначала имел вид отдельной карты, вставляемой в свободный разъём на материнской плате – до этого момента видеоадаптер позволял работать только с двухмерной графикой (2D). Акселератор, как правило, включался в разрыв кабеля между видеокартой и монитором и брал на себя видеовывод, когда этого требовала выполняющаяся на компьютере программа. Далее, с развитием технологий производства полупроводников, графический чип стал содержать в себе все необходимые блоки, отвечающие как за 2D-, так и 3D-графику.

Именно тогда доминирующая на тот момент компания 3dfx (все активы 3dfx после банкротства перешли к NVIDIA) представляет технологию SLI (ScanLineInterleave– чередование строчек), благодаря которой появилась возможность объединить две подобные видеокарты с шиной PCI для формирования изображения методом чередования строк, что увеличивало быстродействие графической подсистемы и разрешение экрана.

Рисунок 8. Спаренный видеоускоритель (SLI)

На рисунке 7 показана видеокарта Quantum3D ObsidianX-24 на базе двух Voodoo2 в режиме SLI

Действительно, всё новое – это хорошо (в данном случае – очень хорошо) забытое старое: спустя почти 15 лет NVIDIA возродила SLI в видеокартах для шины PCIe.

Рисунок 9. Видеокарта с шиной AGP

Ближе к концу 90-х прошлого века видеоадаптеры получили собственную шину – AGP (AcceleratedGraphicsPort– ускоренный графический порт) и приобрели черты современных видеокарт: объём локальной видеопамяти достиг десятков мегабайт, появилась возможность выводить видеоизображение на ещё один приёмник, например, телевизор. На рисунке 8 изображена видеокарта на базе SiS315 с шиной AGP.

Практически все современные видеокарты состоят из следующих основных компонентов:

    Видеопамять.

    Набор микросхем, (видеочипсет).

    Видео BIOS.

    Тактовые генераторы.

Принцип работы видеокарт (при формировании двумерного изображения) не сильно отличается от принципов, на которых была основана работа адаптера CGA. Центральный процессор компьютера формирует изображение (кадр) в виде массива данных и записывает его в видеопамять, а конкретно - в кадровый буфер. После этого видеочипсет последовательно, бит за битом, строка за строкой, считывает содержимое кадрового буфера и передает его RAMDAC (цифро-аналоговый преобразователь данных, хранящихся в памяти). Он в свою очередь формирует аналоговый RGB-сигнал, который вместе с сигналами синхронизации передаётся на монитор. Сканирование видеопамяти осуществляется синхронно с перемещением луча по экрану монитора, сигналы синхронизации вырабатывают встроенные в видеокарту тактовые генераторы.

Cтраница 1


Графическая подсистема: цветная графика - 8 бит; разрешение 1280x1024 точек; скорость сдвига экрана 25 млн точек / сек.  

Черно-белые изображения в этой книге напечатаны с использованием графической подсистемы Postscript . Многие изображения созданы в программе Matlab, в которой особенно удобно строить кривые в трехмерном пространстве. Изображения, в которых требовалась заливка областей, ограниченных кривыми, получены с помощью пакета Mathematica. Изображения, для которых необходима точечная графика (для данного пиксела в данный момент времени определяется его цвет, черный или белый), были сгенерированы на Фортране с последующим преобразованием выходного файла в формат Postscript.  

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

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

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

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


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

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

При этом основным документом первичного описания графической информации является чертеж для программирования (см.гл. З), по которому разрабатывается подпрограмма формирования модели ГИ. При этом в памяти ЭВМ хранятся подпрограммы, которые обеспечивают формирование модели ГИ с заданными значениями параметров. На рис. 1.1 показана схема обработки графической информации при первом и втором способах формирования модели ГИ. Здесь под обработкой понимаются средства работы с моделью ГИ, предоставляемые пользователю графической подсистемой и зависящие от используемых методов автоматизации конструирования и выполнения конструкторской документации.  

Хотя интерфейс Win32 API также присутствует в системе Windows 98 (и в операционной системе для компактных мобильных компьютеров Windows СЕ), не во всех версиях Windows реализован каждый вызов, кроме того, иногда встречаются несущественные различия. Например, в системе Windows 98 нет средств безопасности, поэтому вызовы API, относящиеся к ней, просто возвращают в этой системе код ошибки. Кроме того, у некоторых вызовов в различных версиях операционной системы Windows могут различаться входные и выходные параметры. Например, в системе Windows 2000 все экранные координаты, задаваемые в качестве параметров графическим функциям, представляют собой действительно 32-разрядные числа, тогда как в Windows 98 используются только младшие 16 разрядов, так как большая часть графической подсистемы все еще остается 16-разрядной. Существование интерфейса Win32 API на нескольких различных операционных систем облегчает перенос программ с одной системы на другую, но благодаря наличию этих небольших различий требуется определенная аккуратность, чтобы программа оставалась переносимой.  

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

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

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

Это ВС, выполненная на базе 32-разрядных микропроцессорных наборов или 32-разрядных ПЭВМ и обладающая следующими архитектурными и техническими характеристиками. Емкость ОЗУ должна составлять несколько Мбайт. АРМ должно иметь выход на ЛВС класса Эзернет. Виртуальная память должна позволять производить подкачку данных не только из винчестерского диска АРМ, но также из ресурсов памяти других устройств или вычислительных систем, доступных через ЛВС. АРМ должно иметь выход на внешний интерфейс типа VME или Multibus-2 и несколько гнезд в собственной шине для соединения с измерительными, управляющими или другими вычислительными системами. Ввод информации должен осуществляться как с клавиатуры, так и с флоппи-диска. Особое значение должно придаваться графической подсистеме. Быстродействие графической подсистемы (нижний предел) - смена 5000 векторов за 1 с в базовой системе или смена до 40 000 векторов за 1 с с графическим ускорителем. Обычно в АРМ помимо центрального процессора ставятся сопроцессоры, в том числе графической обработки.