Страница: 17/19
Графическая подсистема и интерфейс
Общесистемные «прослойки» Mac OS X используют ресурсы трех главных низкоуровневых графических подсистем - Quartz, OpenGL и QuickTime. Последние два названия широко известны, а вот Quartz представляет собой относительно новое слово в «интерфейсостроении». «Относительно» потому, что идеология Quartz достаточно сильно перекликается с идеями графической подсистемы NeXT DPS (Display PostScript – «дисплейный PostScript»).
«Сердце» графической подсистемы Mac OS X - высокоуровневый менеджер окон, содержащий мощную библиотеку векторно-растровой графики Quartz. Именно этот компонент ОС реализует и «движок» рендеринга единого формата для Mac OS X - PDF, и именно в нем кроется радикальное несходство Mac OS X со своей предшественницей - NeXTStep. Quartz обеспечивает как базовые функции, свойственные большинству аналогичных систем, например буферирование содержимого окон, так и совершенно уникальные, такие, как модель «попиксельного видеомикширования», которая позволяет в реальном времени разделять каждый пиксел физического экрана между несколькими окнами приложений одновременно с помощью различных алгоритмов. В предыдущих версиях Mac OS X критический компонент Quartz - Quartz Compositor, отвечающий за уникальную функциональность подсистемы (в первую очередь, за «попиксельное видеомикширование»), выполнялся на центральном процессоре компьютера и работал с подготовленными областями буферной памяти окон, в которые приложения осуществляли «вывод» посредством вызовов библиотек Quartz. На основе содержания буферов окон Quartz Compositor формировала мгновенный «снимок» текущего состояния экранной области, и именно эта картинка отображалась на экране рабочей станции под управлением Mac OS X. Очевидно, что все процедуры, связанные с обработкой таких объемов информации, да еще и основанные на весьма сложных алгоритмах, крайне ресурсоемки, что и подтверждалось «заторможенностью» Mac OS X прошлых поколений. Найти одновременно красивое и радикальное решение такой проблеме было трудно. Существенно поднять производительность такой высокоуровневой графической подсистемы, как Quartz, можно было только одним способом. А именно, превратить всю дисплейную подсистему из двухмерной в трехмерную! Именно это и было сделано в Jaguar - усложненное название Quartz Extreme (QE) скрывает за неопределенностью, пожалуй, самое значительное событие в мире ОС последних лет. Jaguar - это первая Операционная Система с полностью 3D-пользовательским интерфейсом! Теперь QE воспринимает каждое окно не иначе как текстурированный 3D-объект. Сама текстура этого объекта может порождаться программами двухмерной (библиотеки Quartz), трехмерной (OpenGL) графики или мультимедийным потоком (QuickTime). А остальное - операции с «3D-объектами-окнами» - дело мощного стандартного и доступного видеоакселератора.
Последний важнейший элемент системы - пользовательский интерфейс Aqua. Это название не случайно - стилем нового интерфейса является полупрозрачность и подвижность элементов. Как ни странно, освоиться в Aqua значительно легче после некоторого опыта работы с NeXTSTEP/OPENSTEP или даже Windows. Во-первых, по сравнению с классическими версиями Mac OS, Aqua изменяет устоявшееся представление пользователя об уровневом расположении окон (в классических Mac все окна одного приложения располагаются на «одном уровне глубины экрана»). Теперь, как и в большинстве оконных систем, можно «поднимать» на «поверхность» экрана любое окно, не заботясь о его расположении в уровневой иерархии (стандартное поведение классической Mac OS, эмулируется элементом меню Bring All to Front). Во-вторых, Aqua предполагает возможность управления новыми (для Mac-мира) элементами интерфейса – «листами». Лист представляет собой хорошо знакомое пользователям Windows «всплывающее окно», «привязанное» к родительскому окну, и используется в основном для критических сообщений и предупреждений, ассоциированных с одним процессом. В-третьих, интерфейсные возможности расширены еще одной конструкцией: «выдвижным ящиком» (drawer) – «выплывающим» окном, способным содержать различные интерфейсные элементы. В-четвертых, изменениям подверглась организация Рабочего стола.
Реферат опубликован: 19/09/2006