Задача состоит не только в том, чтобы отобразить на экране картинку; это было бы слишком просто. В первую очередь необходимо установить связь между разными элементами, которые создают изображение и управляют им. Следующий список иллюстрирует некоторые проблемы в области коммуникаций Windows XP:
• поддержка совместимости. Windows XP по умолчанию устанавливает разрешение 800x600 точек и минимальное 16-разрядное (65536) цветное изображение. К сожалению, для многих обучающих программ требуется 256-цветная поддержка, а в старых играх применялось разрешение 640x480 точек. Это значит, что Windows XP приходится имитировать такие режимы, чтобы приложение работало;
• уровень приложения. Windows XP использует приложения трех типов. MS DOS-приложения обычно «думают», что они единственные во всем мире, и нарушают все, какие можно представить, правила отображения информации. Хотя 16-разрядные приложения Windows немного «сознательнее», чем их MS DOS-коллеги, они продолжают применять старый интерфейс для вывода на экран. Наконец, новые 32-разрядные приложения Windows обладают максимумом возможных свойств, но их работе часто препятствуют другие приложения, установленные на компьютере;
• драйвер устройства. Если драйвер монитора неверно яраспознает команды, передаваемые приложениями, которые установлены под Windows, или если приложения используют недокументированные свойства команд, наверняка произойдет неправильное соединение. Например, если видеоадаптер ошибочно интерпретирует команды, применяемые приложением, вы получите нечитаемое изображение;
• адаптер. Вначале IBM отвечала за стандартный способ работы видеоадаптеров CGA и EGA. Со временем появились адаптеры VGA, и IBM начала утрачивать свои лидерские позиции. Потом были созданы адаптеры SVGA (Super VGA), для которых не существовало стандарта IBM. Некоторое время не было стандартов для расширенных режимов, которые производители встраивали в свои видеоадаптеры;
• требования операционной системы. Сама по себе операционная система обычно не доставляет забот, связанных с отображением данных на экране монитора. Тем не менее иногда она может являться источником неполадок. Например, значки считаются чем-то само собой разумеющимся, поскольку их использование не вызывает никаких сложностей. Но если файл, необходимый системе, будет изменен приложением или как-нибудь испортится, вам придется заменить этот файл, прежде чем все снова заработает.
Теперь, когда вы знаете о коммуникационных проблемах Windows XP, вероятно, вы хотите понять, как она функционирует. Windows использует некоторый цикл обработки событий для диалога с приложениями. Представьте себе, что цикл обработки событий – это доска объявлений, на которой Windows и приложения размещают сообщения. Сообщение может посылать запрос какой-либо службе, например с целью открыть файл, или «попросить» приложение выполнить задачу сопровождения. Windows уведомляет приложение, когда его ожидает сообщение. Приложение подхватывает сообщение и взаимодействует с ним. Цикл обработки событий позволяет Windows отправлять сообщения с графическими данными любому приложению, которому оно может понадобиться. Приложение использует содержимое сообщения с графическими данными для отображения графики или текста на экране. Сочетание цикла обработки событий и постоянной перерисовки изображения на экране помогает Windows поддерживать дисплей на соответствующем уровне даже при неправильной передаче данных.
Ниже речь пойдет обо всех аспектах поддержки видео в Windows XP. Кроме того, рассматриваются вопросы, связанные с передачей данных. Вы бы никогда ничего не увидели, если бы не было необходимого уровня связи между всеми элементами системы.
Графические стандарты
Организации, создающие стандарты, облегчают жизнь пользователей, предлагая правила, которых производители придерживаются при разработке аппаратного и программного обеспечения. Организация, формирующая стандарты для адаптеров дисплея и мониторов, называется Video Electronic Standard Association (VESA – Ассоциация по стандартам в видеоэлектронике).
Я впервые обнаружил VESA в 1989 году, но наверняка она появилась раньше. IBM бросила VGA ради собственного видеоадаптера 8514/A. Так как не оказалось лидера, который бы диктовал единую политику стандартов в этой области, вакуум заполнился кустарными спецификациями, и вместо единых требований для адаптеров дисплея образовался хаос. VESA шагнула в этот хаос, чтобы внести хоть какой-то порядок. В результате появилось несколько VESA-стандартов и программное обеспечение для каждого видеоадаптера.
Читать дальше
Конец ознакомительного отрывка
Купить книгу