Композитный менеджер окон


Композитный менеджер окон — менеджер окон, использующий возможности окружения (например, опциональной функции Composite X11-сервера или средств Windows Aero) по задействованию аппаратного ускорения для отображения прозрачности, отрисовки теней, отображения текстур, трёхмерных эффектов, анимации, экранных луп.

В отличие от ранних оконных менеджеров, которые делали каждую индивидуальную программу ответственной за предоставление своего окна непосредственно в кадровом буфере, композитный менеджер обеспечивает приложениям вне экрана буфер памяти окна и композитов окна в изображение, представляющее экран и пишет результат в кадровом буфере.

Композитный менеджер может выполнять дополнительную обработку буфера окна, применяя 2D- и 3D-анимационные эффекты, такие как альфа-смешивание, выцветание, масштабирование, поворот, копирование, изгиб и искривление, размытость. Также возможен перевод окна в один из нескольких дисплеев и виртуальных рабочих столов. Данная технология позволяет в режиме реального времени просчитывать такие эффекты как падающие тени, живые предварительные просмотры окон и другие сложные эффекты.

Одной из первых систем с композитными функциями отображения окон была Commodore Amiga, выпущенная в 1985 году. Приложения AmigaOS запрашивают область памяти за пределами текущей области отображения для использования в качестве растра. Затем Intuition выполняет отрисовку аппаратным блиттером Amiga и строит композицию растровых изображений этих приложений - вместе с кнопками, ползунками и всеми другими (любыми) элементами интерфейса - в экранной памяти, не требуя от запрашивавших приложений отдельной перерисовки каких-либо частей их интерфейсов.[1]

24 марта 2001 года вышла Mac OS X 10.0 в которой впервые функции 3D-композиции и композитных эффектов были реализованы программно и обеспечивались экранным менеджером Quartz Compositor. Однако, с появлением в Mac OS X 10.2 технологии Quartz Extreme поддержка композитных изображений возвращается обратно на специализированное графическое оборудование и видеокарты.[2]

В 2003 году компания Sun Microsystems представила подсистему Project Looking Glass служащую для отрисовки трёхмерной графики и работающую поверх библиотеки Swing. Впервые она была показан на выставке LinuxWorld Expo 2003. Хотя Apple пригрозили подать в суд на Sun за нарушение прав их интеллектуальной собственности, ряд свободных оконных менеджеров заимствовали часть функционала из этого проекта. К 2006 году разработка компанией Sun была прекращена, т.к. интересы их бизнеса сместились от рабочих станций UNIX с графическим интерфейсом пользователя к продаже корпоративных мейнфреймов.[3]