Quartz Compositor — оконная система, используемая в Mac OS X. Она отвечает за представление и поддержание растеризованной и отрисованной графики.
Quartz Compositor — основополагающее средство, которое используется для передачи изображений в память графической платы в Mac OS X. Растровые данные, получаемые в результате работы Quartz 2D, OpenGL, Core Image, QuickTime или других процессов системы, записываются в специальную область памяти, страничную память. Затем композитор читает данные из страничной памяти и преобразует их в изображение для отображения, записывая его в кадровый буфер видеокарты. Quartz Compositor принимает только растровые данные, и является единственным процессом, который имеет прямой доступ к буферу кадров видеокарты.[1]
При управлении отдельными окнами Quartz Compositor принимает растр, несущий в себе содержимое окна, от его прорисовщика, а также его позицию. Прорисовщик может отличаться от приложения к приложению, однако большинство использует Quartz 2D. Quartz Compositor, таким образом, выступает как «визуальный миксер», добавляя данное окно к текущей сцене экрана. Эта модель делает оконную систему Mac OS X уникальной, так как индивидуальные процессы не могут требовать полного владения всей сценой на дисплее.[2]
В роли оконного менеджера Quartz Compositor имеет также очередь событий, в которую поступают события, такие как нажатие клавиш или клики мышью. Quartz Compositor извлекает события из очереди, определяя, какой процесс владеет окном, где произошло событие, и передает событие процессу.[3]
В Mac OS X v10.2 была представлена технология Quartz Extreme: ускорение графическим процессором (GPU) Quartz Compositor. С помощью Quartz Extreme на композицию сцены не тратятся процессорные такты. Quartz Compositor работает, используя графический процессор (ГП), инкапсулируя каждую прорисованную графическую страницу в поверхность или текстурную карту OpenGL. Затем ГП составляет карты и поверхности, предоставляя готовое изображение, которое доставляется прямо в кадровый буфер видеокарты.
Quartz Extreme использует только команды OpenGL и требует видеокарту, присоединенную к порту AGP 2X или быстрее (включая AGP 4X, 8X, и PCI Express), поддерживает текстуры и карты любого размера, так как множество прорисовщиков не имеет ограничений на размер (например, Quartz 2D).[1] Эта технология включена по умолчанию на компьютерах Mac со следующими типами графических карт:[4]
Quartz Extreme - не то же самое, что и Quartz 2D Extreme, в которой ускорения графическим процессором являются опциональными. Более того, любой тип ГП, способный прорисовывать Core Image команды, также совместим с Quartz Extreme.
Для улучшения этой статьи по информационным технологиям желательно:
|