Quartz Compositor
Quartz Compositor — оконная система, используемая в Mac OS X, отвечает за представление и поддержание растеризованной и отрисованной графики; вторая составляющая графического уровня Quartz (наряду с Quartz 2D).
Является основополагающим средством для передачи изображений в память видеоадаптера в Mac OS X. Растровые данные, получаемые в результате работы Quartz 2D, OpenGL, Core Image, QuickTime или других процессов системы, записываются страничную память. Затем композитор читает данные из страничной памяти и преобразует их в изображение для отображения, записывая его в кадровый буфер видеокарты. Quartz Compositor принимает только растровые данные и является единственным процессом, который имеет прямой доступ к буферу кадров видеокарты[1].
При управлении отдельными окнами Quartz Compositor принимает растр, несущий в себе содержимое окна, от его прорисовщика, а также его позицию. Прорисовщик может отличаться от приложения к приложению, однако большинство использует Quartz 2D. Quartz Compositor, таким образом, выступает как «визуальный миксер», добавляя данное окно к текущей сцене экрана. Эта модель делает оконную систему Mac OS X уникальной, так как индивидуальные процессы не могут требовать полного владения всей сценой на дисплее[2]. В роли оконного менеджера Quartz Compositor имеет также очередь событий, в которую поступают события, такие как нажатие клавиш или клики мышью — он извлекает события из очереди, определяя, какой процесс владеет окном, где произошло событие, и передаёт событие процессу[3].
Quartz Extreme
[править | править код]В Mac OS X v10.2 была представлена технология Quartz Extreme, поддерживающая ускорение обработки графическим процессором, чтобы исключить нагрузку на центральный процессор для задач композиции. Технология подразумевает инкапсуляцию каждой прорисованной графическую страницы в поверхность или текстурную карту OpenGL. Затем графический процессор составляет карты и поверхности, предоставляя готовое изображение, которое доставляется прямо в кадровый буфер видеокарты.
Quartz Extreme использует только команды OpenGL и требует видеокарту, присоединённую к порту AGP 2X или быстрее (включая AGP 4X, 8X, и PCI Express), поддерживает текстуры и карты любого размера, так как множество прорисовщиков не имеет ограничений на размер (например, Quartz 2D)[1]. Эта технология включена по умолчанию на компьютерах Mac со следующими типами графических карт:[4]:
- ATI Radeon, AGP, минимум 16MB VRAM, или новее,
- NVIDIA GeForce2 MX, минимум 16MB VRAM, или новее,
- определённые Intel-системы со встроенными видеокартами Intel GMA950.
Примечания
[править | править код]- 1 2 ArsTechnica - Mac OS X 10.4 Tiger - Quartz. Дата обращения: 12 февраля 2007. Архивировано из оригинала 4 апреля 2012 года.
- ↑ Apple - Developer - Graphics & Imaging Overview. Дата обращения: 12 февраля 2007. Архивировано из оригинала 23 февраля 2012 года.
- ↑ Apple - Developer - Mac OS X Technology Overview: Graphics, Imaging, and Multimedia (недоступная ссылка — история). Дата обращения: 18 апреля 2007.
- ↑ Apple - Mac OS X 10.4: Requirements for Quartz Extreme and Core Image graphics. Дата обращения: 12 февраля 2007. Архивировано из оригинала 4 апреля 2012 года.
Ссылки
[править | править код]- Quartz Extreme (apple.com)
- The Graphics and Windowing Environment — from Apple’s Mac OS X Documentation
- Quartz Services Reference