А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я
0-9 A B C D I F G H IJ K L M N O P Q R S TU V WX Y Z #


Чтение книги "Полное руководство по Microsoft Windows XP" (страница 87)

   Графические стандарты

   Организации, создающие стандарты, облегчают жизнь пользователей, предлагая правила, которых производители придерживаются при разработке аппаратного и программного обеспечения. Организация, формирующая стандарты для адаптеров дисплея и мониторов, называется Video Electronic Standard Association (VESA – Ассоциация по стандартам в видеоэлектронике).
   Я впервые обнаружил VESA в 1989 году, но наверняка она появилась раньше. IBM бросила VGA ради собственного видеоадаптера 8514/A. Так как не оказалось лидера, который бы диктовал единую политику стандартов в этой области, вакуум заполнился кустарными спецификациями, и вместо единых требований для адаптеров дисплея образовался хаос. VESA шагнула в этот хаос, чтобы внести хоть какой-то порядок. В результате появилось несколько VESA-стандартов и программное обеспечение для каждого видеоадаптера.
   VESA и сейчас продолжает создавать стандарты. Например, недавно были реализованы стандарты Video Signal Standard и Enhanced Extended Display Identification Data Standard. Следующий список включает некоторые общие стандарты, которые установила VESA:
   • Enhanced Extended Display Identification Data Standard (E-EDID – стандарт усовершенствованного расширенного отображения распознавания данных). Если вам когда-нибудь хотелось узнать, как Windows XP распознает тип монитора, подключенного к системе, вот ответ на ваш вопрос: ей помогает данный стандарт. К сожалению, многие старые мониторы не имеют необходимой поддержки. Поэтому некоторые из них идентифицируются как «Plug and Play-мониторы», а не с помощью специального названия;
   • Video Signal Standard (VSIS – стандарт видеосигнала). Данный стандарт определяет сигналы, управляющие монитором, и настраивает элементы монитора, например аналоговые устройства вывода изображения. Кроме того, он задает использование тестовых схем внутри монитора. Этот стандарт применяется вместо стандарта Monitor Command Control Set (MCCS) или вместе с ним;
   • Digital Flat Panel (DFP – цифровая плоская панель). Обычно монитор подключается к компьютеру через аналоговый интерфейс. Сигнал должен быть преобразован из цифрового, распознаваемого компьютером, в аналоговый, используемый монитором. Для такой процедуры требуется время, и она снижает производительность. Этот стандарт предоставляет способ для DFP-подключения к компьютеру напрямую, без цифро-аналогового преобразования (ЦАП);
   • Visual Interface Port (VIP – порт визуального интерфейса). Современные компьютеры снабжены большим количеством специализированных видеокомпонентов. Данный стандарт определяет интерфейс, который такие компоненты, как MPEG-2 или HDTV-декодеры, устройства ввода видеоизображения и видеокодеры, могут использовать для взаимодействия с видеоадаптером без добавления дополнительного трафика на шину PCI;
   • PC Theater Interconnectivity Standard (Стандарт межкомпонентного соединения ПК). Данный стандарт определяет, как производители электроники могут обновлять свои продукты для работы на компьютере. В большей части такой продукции для создания подключения используется USB;
   • Connector and Signal Standards for Stereoscopic Display Hardware (Стандарты сигнала и подключения для оборудования стереоскопического изображения). Пользователи игр и программ трехмерной графики оценят этот стандарт, так как он определяет способ подключения стереоскопических устройств на компьютере;
   • VESA BIOS Extension (VBE – расширение базовой системы ввода/вывода VESA). Используйте эту серию стандартов, чтобы узнать о режимах дисплея для SVGA и о более продвинутых адаптерах;
   • Monitor Timing Standard (Стандарт синхронизации монитора). Данная серия стандартов предоставляет постоянный способ производства эргономных корректных дисплеев с частотой обновления 70 Гц, которая прекрасно снижает утомляемость глаз.
...
   Рекомендация
   VESA предоставляет подробную спецификацию для ряда видеоадаптеров и стандартов мониторов. Вы можете связаться с VESA напрямую:
   Video Electronic Standard Association
   920 Hillview Ct., Suite 140
   Milpitas, CA 95035
   Телефон: 408-957-9270
   Internet: http://www.vesa.org/
   Windows XP поддерживает несколько новых стандартов, включая DirectX 8 (http://www.microsoft.com/directx/default.asp), который позволяет производителям игр писать программы с высокоскоростной графикой, используя стандартный интерфейс. Стандарт DirectX обеспечивает средства для записи прямо на устройство, пока он еще поддерживает работу Windows c данным изображением. Windows продолжает отслеживать действия, выполняемые компьютерной игрой, но делает это без вмешательства, на которое наталкивается стандартное приложение. Преимущества DirectX заключаются в быстродействии и максимальной гибкости.
   По мнению многих пользователей, предыдущие версии DirectX создавали больше проблем, чем решали. Самый большой недостаток старых версий заключался в том, что производителю приходилось прикладывать больше усилий для того, чтобы разработать и установить программу. Введение высококачественного комплекса инструментальных средств (Software Development Kits – SDKs) и распространение сведений о DirectX не устранило этот недостаток. Кроме того, многие люди ранее испытывали проблемы с совместимостью при использовании DirectX, который, по существу, является набором API-интерфейсов для поддержки мультимедиа с нестандартными адаптерами дисплея. Сегодня большая часть видеоадаптеров прекрасно работают с DirectX.
   Стандарт OpenGL (http://www.opengl.org/ и http://reality.sgi.com/opengl/) сохраняет свою жизнеспособность, но сегодня он встречается реже, чем в старых версиях Windows. Изначально он был доступен только пользователям Windows NT, но большинство современных версий Windows включают его. OpenGL – это набор графических программ-библиотек. Применение таких программ помогает сэкономить время разработки и ускоряет отображение информации на экране.
   Вы можете увидеть действие OpenGL, используя экранные заставки OpenGL Windows XP. Щелкните правой кнопкой мыши по Рабочему столу и выберите пункт Свойства (Properties). Перейдите на вкладку Заставка (Screen Saver). В списке заставок укажите Трубопровод [Direct3D] (3D Pipes). Нажмите кнопку Просмотр (Preview), после чего появится изображение, как на рис. 16.1 (обратите внимание, я немного увеличил картинку). Вы увидите набор высокоскоростных трехмерных графических программ в действии. Недостаток OpenGL заключается в том, что он не очень быстр и недостаточно прост. Сегодня большинство разработчиков используют DirectX-игры, тем не менее OpenGL очень популярен для бизнес-приложений.
   Рисунок 16.1. Эта экранная заставка – пример того, как OpenGL улучшает динамику в трехмерной анимации

   Архитектура графической подсистемы Windows XP

   Теперь, когда у вас есть некоторое представление о трудностях, с которыми сталкивается корпорация Microsoft (и другие производители ПО), когда собирается выпустить на рынок что-то новое, подошло время обсудить, как это происходит. Видеоадаптеры обогнали простые требования того времени, когда IBM стояла у руля.
   Использование разрешения 640x480 точек и 256 цветов уже устарело. Сегодня графический адаптер считается неполноценным при разрешении 1024x768 точек и 24-разрядном (16,7 млн, или True Color) цвете. Кроме того, пользователи теперь обращают внимание на скорость смены кадров (частоту вертикальной развертки), которую обеспечивает видеоадаптер (при которой он может отображать анимацию). Видеоадаптер должен поддерживать минимум 30 кадров в секунду для обеспечения соответствующего качества анимации. В настоящее время адаптеры дисплея обладают внутриплатным сопроцессором и огромным количеством видеопамяти.
   Windows XP управляет этим широким диапазоном возможностей видеоадаптера с помощью того же централизованного механизма, который применяется для печати – сочетание мини-драйвера и механизма аппаратно-независимого растра (Device-Independent Bitmap – DIB). Одним из основных компонентов архитектуры является интерфейс графических устройств (Graphics Device Interface – GDI). Ваша программа взаимодействует с интерфейсами прикладного программирования.
   Microsoft настраивала GDI для разных версий Windows. Неудивительно, что корпорация потратила так много времени в этой области, ведь многие аттестационные испытания сфокусированы на достижении высокоскоростной графики. В действительности пользователи чаще обращают внимание на работу графического устройства. Microsoft осуществила дополнительную настройку GDI для Windows XP, но я назвал бы такую настройку скорее промежуточной, чем окончательной. На самом деле Microsoft никогда не поясняет уровень настройки в своей литературе.
...
   Примечание
   Интерфейс графических устройств GDI Windows XP обладает интересным свойством: это одна из немногих программ, написанных в основном на C++ (для остальной части Windows XP использовалось сочетание C и C++). Почему Microsoft предприняла такой шаг? Думаю, по двум причинам. Во-первых, C++ позволяет максимально поддерживать MFC-библиотеки (Microsoft Foundation Class), построенные на C++, что сильно облегчает жизнь программистам. Во-вторых, применение объектов вместо процедурных кодов обеспечивает простоту использования GDI (особенно в мультиплатформенной среде типа Windows XP).
   Архитектура графической подсистемы Windows XP очень похожа на аналогичную подсистему в Windows 2000. Она включает несколько дополнительных кодов для режима совместимости, например для поддержки 16– и 32-разрядных приложений. Кроме того, Microsoft убрала элементы OS/2 и POSIX из архитектуры, так как для Windows XP они больше не требуются. Я не буду вдаваться в подробности, что такое биты и байты, но расскажу о компонентах, используемых для отображения данных на экране.
   В действительности архитектура графической подсистемы Windows XP имеет более сложную структуру, чем представленная на рис. 16.2. Я не стал включать некоторые дублирующие элементы, например двойной режим поддержки совместимости, поскольку он выглядит так же, как его 32-разрядный аналог. В следующем списке указывается, какую задачу выполняет каждый компонент:
   Рисунок 16.2. Архитектура графической подсистемы Windows XP

   • подсистема WIN32 (WIN32 subsistem). Windows XP использует принцип клиент/сервер для обеспечения требуемых средств различным приложениям, которые она поддерживает. Это происходит через подсистему WIN32 на уровне буфера, переводящего запросы других операционных систем в код, который Windows XP может распознать;
   • виртуальная DOS-машина (Virtual DOS Machine – VDM). Windows XP размещает каждое приложение MS DOS на собственной VDM. Для достижения наивысшего уровня надежности системы, необходимого пользователям, Microsoft пришлось обеспечить каждое приложение собственной средой, полностью отделенной от среды какого-нибудь другого приложения. В отличие от Windows 9х, 16-разрядные приложения Windows XP используют индивидуальные VDM. Windows XP всегда запускает VDM, а потом в ней – копию 16-разрядной Windows, чтобы обеспечить поддержку 16-разрядного приложения. В результате в каждое взаимодействие добавляются два уровня: для VDM и для подсистемы WIN32. Применение отдельной VDM для каждого приложения означает также, что Windows XP может более точно определить, когда приложение MS DOS начнет управление экраном. Она уведомляет модуль User (который управляет вводом-выводом) и модуль захвата экрана, чтобы они могли сохранить информацию о состоянии графической системы. Как и все остальное, это дополнительное разбиение на уровни происходит незаметно для пользователя. Вы продолжаете работать с тем же интерфейсом, что и раньше;
   • модуль захвата экрана (Screen Grabber). Я всегда представляю себе этот компонент в виде камеры, так как, по сути, он и есть камера. Модуль захвата экрана «фотографирует» экран и сохраняет его «снимок» для последующего использования. Это позволяет Windows восстанавливать экран в его первоначальном состоянии после завершения сеанса работы в MS DOS;
   • модуль User. Я уже объяснял назначение этого модуля в главе 11. Он отслеживает состояние всех элементов дисплея, таких как значки и диалоговые окна; кроме того, поддерживает отображение данных на экране. Поэтому модуль должен быть инициализирован прежде, чем сеанс MS DOS станет приоритетным (активизируется), чтобы сделать снимок текущего состояния компонентов. Диск имеет два варианта модуля User: 16– и 32-разрядный;
   • интерфейс графических устройств (GDI). Это другой модуль, объяснение которого приведено в главе 11. Подобно модулю User, интерфейс графических устройств GDI имеет два физических файла: один – для 16-разрядных и другой – для 32-разрядных нужд. Модуль GDI взаимодействует с драйвером дисплея и DIB-обработчиком для поддержки графических компонентов, которые отображает Windows. DIB-обработчик, который позволяет использовать растровые изображения, был отдельным компонентом подсистемы дисплея, но теперь он входит в состав GDI;
   • драйвер мини-порта дисплея (Display Miniport Driver). Каждый видеосигнал проходит через виртуальный драйвер дисплея (Virtual Display Driver – VDD). VDD обрабатывает сигнал и посылает его на видеоадаптер. Windows XP применяет комбинацию из драйвера мини-порта дисплея и обработчика DIB для видеоадаптеров, которые могут их поддерживать. Такое сочетание драйверов повышает скорость при использовании 32-разрядного кода. Называться этот файл может по-разному в зависимости от того, какого типа ваш дисплей. В моей системе он именуется ATIMPAE.SYS. В отличие от VDD, который осуществляет всю обработку видео, драйвер мини-порта дисплея обеспечивает только отдельные детали, определяемые конкретным устройством. DIB-обработчик отвечает за визуализацию графики. Драйвер мини-порта содержит гораздо меньше кода, чем основной VDD, уменьшая таким образом количество кодов, которые изготовитель должен написать;
   • драйвер видеоадаптера (Display Adapter Driver). Данный модуль поддерживает ряд специальных свойств визуализации, которые предоставляет ваш видеоадаптер. Имя файла, ассоциируемого с данным модулем, меняется в зависимости от видеоадаптера. На моей машине такие функции находятся в файле ATIDRAE.DLL;
   • драйвер видеопорта (Video Port Driver). Microsoft продвигает систему универсальных драйверов. Этот драйвер, в частности, включает функции, которые позволяют модулям User и GDI выполнять обычные задачи универсального графического адаптера, такие как перемещение данных из одной области адресного пространство в другую. Имеются и функции состояния, наподобие той, что проверяет адаптер VGA при его инсталляции, а также других, которые работают с установками AGP-порта. Основные программные компоненты, поддерживающие функции данного модуля, обычно расположены в файле VIDEOPRT.SYS;
   • цветовой профиль (Color profile). Этот файл данных включает цветовые возможности вашего устройства вывода. Не имеет значения, принтер это или видеоадаптер: тип информации одинаковый. Цель цветового профиля – обеспечить систему управления цветом ICM (Image Color Matcher) информацией, необходимой для синхронизации монитора и других устройств поддержки цвета. Таким образом, когда вы выбираете на экране темно-красный цвет, вы получаете такой же темно-красный цвет при печати. Я описал некоторые проблемы соответствия цветов в разделе «Вкладка Управление цветом» главы 14, так что не буду снова говорить о них. Все файлы цветового профиля (с расширением. icm) можно найти в папке COLOR, расположенной в папке SYSTEM. Диалоговое окно свойств, ассоциируемое с каждым из них, сообщит вам гораздо больше технических деталей о текущем профиле;
   • система управления цветом (Image Color Matcher – ICM). Весь процесс управления выводом данных на принтер, результат которого вы наблюдаете на экране монитора, слишком сложен, чтобы изложить его здесь. Ранее в этой главе я описал проблему совместимости цветов. ICM – это модуль, который на самом деле выполняет такую работу. Он незаметно изменяет выходные данные принтера и дисплея так, чтобы они соответствовали друг другу. GDI, мини-драйвер дисплея и ICM работают совместно, чтобы сравнить текущий набор цветов и преобразовать его в то цветовое представление, которое будет одинаковым на обоих устройствах (принтере и мониторе). Это не самый лучший выход, но он действует в большинстве случаев. В результате получается практически тот же цвет изображения, но с некоторым отличием. Пользователи не заметят никакой разницы, но профессиональные художники замечают. Конечно, такое решение не может учитывать множество деталей, которые имеют значение для специалистов, например температуру, влажность и другие характеристики среды, которыми Windows не управляет. Файлы, поддерживающие работу системы управления цветом ICM, которая является API-интерфейсом, включают библиотечные файлы ICM32.DLL и ICMUI.DLL из папки SYSTEM;
   • виртуальный драйвер дисплея (Virtual Display Driver – VDD). Старые 16-разрядные приложения применяют этот модуль в качестве единственного источника связи с видеоадаптером. Windows XP предоставляет его в целях совместимости и для приложений MS DOS. В большинстве случаев имя такого файла содержит часть названия фирмы-изготовителя адаптера дисплея. Вы найдете его в папке SYSTEM. Этот драйвер преобразует команды рисования в сигналы, которые адаптер может задействовать. Он также управляет видеоадаптером и выполняет ряд других задач, касающихся совместного использования графического адаптера всеми программами, установленными на вашем компьютере. По сути, это 16-разрядная версия комбинации мини-драйвера дисплея и обработчика DIB;
   • уровень абстрагирования от оборудования (Hardware Abstraction Layer). Это другой концептуальный тип элемента в Windows XP. Когда-то вы могли запускать Windows NT на разных платформах, как, например, процессоры MIPS и Alpha. Теперь это не так. Хотя корпорация Microsoft сохраняет способность запуска Windows XP на других платформах, HAL отделяет зависящие от конкретного оборудования элементы от остальной части системы. Если специалисты Microsoft пожелают переместить Windows XP на другую платформу, понадобится только переписать HAL, чтобы адаптировать программное обеспечение;
   • видеоадаптер (Display Adapter). Это физическое устройство на вашем компьютере;
   • видеопамять и экран (Video Memory and Screen). Видеопамять – это та память, которая хранит изображение в электронной форме. Хотя у видеоадаптера имеется собственная встроенная память, которая находится на его плате, здесь мы говорим не о ней. Windows XP создает область виртуальной памяти для каждого приложения, чтобы приложения при использовании ресурсов компьютера не конфликтовали. Система комбинирует содержимое всех областей виртуальной памяти и отправляет его в реальную память адаптера дисплея;
   • драйвер загрузки графического адаптера VGA (VGA Boot Driver)[39]. Драйвер обычно применяется только в безопасном режиме (Safe Mode), когда основная система графики по какой-то причине разрушилась. Это универсальный 32-разрядный драйвер, который любой видеоадаптер, дружественный Windows, может использовать для отображения информации на низком уровне разрешения 640x480. Обратите внимание, драйвер больше не ограничен режимом 256 цветов; вы можете выбрать вместо него 16– или 24-разрядный цвет изображения. Система включает этот драйвер перед идентификацией адаптера дисплея на компьютере во время инсталляции. Windows XP использует его только для инсталляции и решения проблем, и обычно он остается на заднем плане, поэтому я не стал включать его в рисунок. Данный драйвер хранится в файле BOOTVID.DLL.
   Имейте в виду, это был краткий обзор видеоподсистем. В действительности внутренняя деятельность описанной части Windows XP более сложная. Чтобы лучше понять, как все работает, представьте, что Windows XP имеет три видеопути (если, конечно, не вдаваться в подробности):
   • 16-разрядная MS DOS;
   • 16-разрядная Windows;
   • 32-разрядная Windows.
   Путь, который выбирает Windows XP, зависит от используемого приложения, типа видеоадаптера и настроек отображения видео, которые вы указываете в диалоговом окне Свойства: Экран (Display Properties). 16-разрядный путь MS DOS состоит из VDD, адаптера дисплея и видеопамяти. 16-разрядная Windows добавляет WINOLDAP.MOD, модуль захвата экрана, модули User и GDI. 32-разрядный путь содержит модули User и GDI, адаптер мини-порта дисплея, драйвер адаптера дисплея, драйвер видеопорта, обработчик DIB и видеопамять. Оба пути Windows могут включать систему управления цветом ICM и ассоциированные цветовые профили. От вашей установки зависит, какие драйверы Microsoft инсталлирует в конечном счете, и технические возможности имеющихся устройств.
Чтение онлайн



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 [87] 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138

Навигация по сайту
Реклама


Читательские рекомендации

Информация