Кіріспе
Терезе менеджерінің түрі
Композициялау менеджері немесе композитор – әр терезе үшін экраннан тыс буфер ұсынатын бағдарламалық қамтамасыз ету. Композициялау менеджері терезе буферлерін экранды бейнелейтін бір кескінге біріктіріп, нәтижені дисплей жадына жазады. Композициялау терезе менеджері – бұл композициялау менеджерінің функцияларын да атқаратын терезе менеджері. Композициялау менеджерлері буферленген терезелермен қосымша өңдеулер жасай алады, мысалы, 2D және 3D анимациялық эффекттерді қолдану арқылы араластыру, жою, масштабтау, бұру, көшіру, иілу, қиыстыру, араластыру, бұрмалау, қосымшаларды қайта бағыттау және терезелерді бірнеше дисплейлер мен виртуалды жұмыс үстелдерінің біріне аудару мүмкіндігін ұсынады. Компьютерлік графика технологиясы көлеңкелер, тікелей шолу және күрделі анимация сияқты визуалды эффектілерді нақты уақытта көрсетуге мүмкіндік береді. Экран екі есе буферленгендіктен, жаңарту кезінде жыпылықтамайды. Ең көп қолданылатын композициялау менеджерлері мен композициялау терезе менеджерлері:
Linux, BSD, Hurd және OpenSolaris жүйелері үшін X Window System: Compiz, KWin, Xfwm, Enlightenment, Muffin (Cinnamon DE үшін композициялау терезе менеджері) және Mutter композициялау терезе менеджерлері, сондай-ақ xcompmgr және picom композиторлары;
Linux және BSD жүйелері үшін Wayland: Weston, KWin және Mutter композициялау терезе менеджерлері;
Windows үшін: Үстел терезе менеджері;
және macOS үшін: Quartz Compositor.
A compositing manager, or compositor, is software that provides applications with an off screen buffer for each window. The compositing manager composites the window buffers into an image representing the screen and writes the result into the display memory. A compositing window manager is a window manager that is also a compositing manager. Compositing managers may perform additional processing on buffered windows, applying 2D and 3D animated effects such as blending, fading, scaling, rotation, duplication, bending and contortion, shuffling, blurring, redirecting applications, and translating windows into one of a number of displays and virtual desktops. Computer graphics technology allows for visual effects to be rendered in real time such as drop shadows, live previews, and complex animation. Since the screen is double buffered, it does not flicker during updates. The most commonly used compositing managers and compositing window managers include:
for Linux, BSD, Hurd and OpenSolaris using the X Window System: the Compiz, KWin, Xfwm, Enlightenment, Muffin (compositing window manager for Cinnamon DE), and Mutter compositing window managers and the xcompmgr and picom compositors;
for Linux and BSD using Wayland: the Weston, KWin, and Mutter compositing window managers;
for Windows: the Desktop Window Manager; and
for macOS: the Quartz Compositor.
Тарих
Композициялық терезелік жүйесі бар алғашқы жүйелердің бірі 1985 жылы шыққан Commodore Amiga болды. Бағдарламалар бастапқыда бит карта ретінде пайдалану үшін ағымдағы дисплей аймағынан тыс жад аймағын сұрауға мүмкіншілік алды. Amiga терезелік жүйесі осы бағдарламалардың бит карталарын, дисплей жадындағы түймелер мен жылғыштармен бірге, жүйенің аппараттық блиттерін пайдаланып, бірнеше бит-блиттер арқылы құрастыратын. Бұл бағдарламаларға өздерінің бит карталарын қайта салу қажеттігін тудырмады. 2001 жылдың 24 наурызында Mac OS X v10.0 бағдарламалық қамтамасыз ету негізінде 3D композициялау және эффектілерді ұсынатын алғашқы кең таралған операциялық жүйе болды, оны Quartz компоненті қамтамасыз етті. Mac OS X v10.2 және Quartz Extreme нұсқаларының шығуымен композициялау жұмысын арнайы графикалық аппаратқа жүктеуге мүмкіндік туды. 2003 жылы Sun Microsystems компаниясы Swing құралдар жиынтығының үстіне орналастырылатын Project Looking Glass деп аталатын амбициялық 3D графикалық жүйені көрсетті. Ол алғаш рет 2003 жылғы LinuxWorld Expo көрмесінде таныстырылды. Apple компаниясы Sun компаниясын зияткерлік меншік құқықтарын бұзғаны үшін сотқа берумен қорқытса да, басқа терезе менеджерлері Looking Glass функционалының бір бөлігін іске асырды. 2006 жылы Sun компаниясы дамуды тоқтатты, оның негізгі бизнесі графикалық бағдарланған Unix жұмыс станцияларынан кәсіптік мейнфреймдерді сатуға көшті. Microsoft алғаш рет 2003 жылғы Windows Hardware Engineering конференциясында Project Longhorn аясында Desktop Window Manager-ді ұсынды, осымен «шалқыған» терезелерді көрсетті. Longhorn әзірлеудегі кешігулер Microsoft компаниясының 3D композициялық терезе менеджерін 2007 жылдың қаңтарында Windows Vista нұсқасы шыққанға дейін таныстырмауына себеп болды. X терезелік жүйесінде композициялауды іске асыру үшін кейбір өзгерістер қажет болды, олар кезең-кезеңімен жүзеге асырылды. Metacity 2.8.4 2004 жылдың тамызында жарық көрді. Дегенмен, X үшін алғашқы кеңінен танымал болған композициялық терезе менеджері 2005 жылдың қаңтарында шыққан Xfwm болды. 2005 жылдың 26 қаңтарында Compiz шығарылды, ол Linux платформасына толық жеделдетілген 3D композициялауды енгізді. KDE-нің KWin-і де композициялауды қолдайды.
Операциялық жүйелердегі композициялау және 3D эффекттері
Композиция кезінде 3D эффекттерді терезелерге қолдану арқылы 3D жұмыс үстелі эффекттерін жасауға болады. Қазіргі заманғы композициялық терезе менеджерлері 3D аппараттық үдетуді пайдаланады. Композициялық терезе менеджері бағдарламалық құралы OpenGL немесе Direct3D сияқты бағдарламалау интерфейстері арқылы графикалық аппаратпен байланысады. Бұл техниканы қолданған алғашқы кең таралған жүзеге асырулар Mac OS X 10.2 жүйесінде Mac үшін, ал Linux үшін Luminocity прототипінде пайда болды. Қазіргі уақытта OpenGL қолданатын терезе менеджерлеріне Compiz, KWin және Quartz Compositor жатады, ал Desktop Window Manager қазіргі уақытта DirectX 9 қолданады. OpenGL әлі толыққанды аппараттық қолдауға ие болмағандықтан, OpenGL негізіндегі композициялаудың өнімділігі аппараттық жақсарулармен бірге жақсаруы тиіс.
X11 және Уэйленд
X Window System (X11) жүйесінде жұмыс істейтін терезе басқарушыларға түс өңдеуі немесе жасыл экранды қолдану кеңейтуі қажет болды. Композициялау Композиттік кеңейту арқылы енгізілді. Композициялау менеджерлері, егер қол жетімді болса, осы кеңейту арқылы аппараттық үдетуді пайдаланады. X11 жүйесінде толық 3D үдетілген композициялау мүмкіндігін іске асыру үшін аппараттық үдетуді пайдалану мақсатында терезе жүйесі протоколына негізгі өзгерістер енгізу қажет болды. Алғашқыда OpenGL негізінде құрылған бірнеше өзгертілген X11 іске асырылымдары пайда бола бастады, оның ішінде Xgl. AIGLX енгізуі Xgl пайдалану қажеттілігін жойды және терезе басқарушыларға стандартты X серверінде 3D үдетілген композициялауды жүзеге асыруға, сонымен қатар тікелей рендерингті де қолдануға мүмкіндік берді. Қазіргі уақытта NVIDIA, Intel және ATI бейнекарталары AIGLX-ты қолдайды. Compiz пайдаланушыға бір мезгілде 6 виртуалды жұмыс үстелін көруге мүмкіндік беретін куб эффектісін ұсынды. Әрбір жұмыс үстелі кубтың беттік текстурасына айналдырылады, оны қалауынша бұруға болады. Compiz 2D және 3D эффектілерінің кең ауқымын көрсетеді және аппараттық талаптары салыстырмалы түрде төмен. 2012 жылы Compiz Ubuntu Linux жүйесіне қосылды және қолдау көрсетілетін жабдық пен драйверлер болғанда және пайдаланушы 2D режимін таңдамаған жағдайда автоматты түрде қосылды. Mutter (Metacity + Clutter) GNOME-дың стандартты терезе басқарушысы ретінде Metacity-ді алмастырды. Ол GNOME 3.0 GNOME Shell компонентінің құрамында ұсынылған. Ол барлық негізгі операциялық жүйелерге, нетбуктерге және смартфондарға портталған Clutter дисплей қозғалтқышын пайдаланады. KDE-нің 4-ші нұсқасынан бастап KWin терезе басқарушысы композициялау мүмкіндіктеріне ие болды. KWin Compiz-де де кездесетін көптеген бірдей функционалдық мүмкіндіктерге ие. Wayland протоколы бойынша композициялау терезе басқарушысы сонымен қатар дисплей сервері болып табылады; терезе басқарушысынан бөлек дисплей сервері жоқ. Біріктірілген терезе басқарушысы/дисплей сервері Wayland композиторы деп аталады. Weston – Wayland композиторының анықтамалық іске асырылымы; KWin және Mutter да Wayland композиторлары болып табылады, сонымен қатар X11 композициялық терезе басқарушылары да болып табылады.
Жава
Project Looking Glass – 3D рендеринг пен кросс-платформалық Java бағдарламалау тілін біріктіретін терезе менеджері. Қазір ол қолданыстан шыққан және GNU General Public License лицензиясымен босатылған. Granular Linux тірі CD дистрибутиві Looking Glass-ты қосымша терезе менеджері ретінде ұсынады. Жоба тоқтатылғаннан кейін, оның кейбір мүмкіндіктері, мысалы, қақпақтарды ауыстыру және миниатюралармен тікелей көру, басқа терезе менеджерлеріне енгізілді. Оның ерекше ерекшеліктері терезелерді бұру, екі жақты терезе жиектері және параллакс эффектісімен жылжитын фон болды.
AmigaOS 4 және MorphOS
Олар 3D-ға қабілетті аппараттық құрылғыларда жұмыс істей алғанымен, AmigaOS 4 және MorphOS ескі Amiga компьютерлерінде, Amiga 1200-ден бастап жұмыс істеу үшін жасалған. Сондықтан, олардың терезе басқарушылары жазық рендеринг мүмкіндіктеріне ие, олар композиттік қабаттау, альфа-араластыру, градиенттер, жоғары ажыратымдылық және бір-бірін ішінара жабатын бірнеше жұмыс үстелінен ("экрандардан") тұрады.
Microsoft Windows-тың жүйелік жүйесі
Windows 2000 жүйесіндегі терезе менеджері композициялауды жүзеге асырса да, әрбір пикселге қатысты альфа арналуы сияқты түрлендірулерді жасай алмайды. Альфа-қосылуды қолдаған коммерциялық қолданбалар аз болды; тегін бағдарламалар онымен тәжірибе жасаушылардың алғашқылары болды, бірақ бұл мүмкіндік қосымша параметрлар арқылы ұсынылды. Композициялау Windows Vista жүйесіндегі Үстел терезе менеджері арқылы енгізілді. Windows Vista пайдаланушыларға Windows Sidebar (Сайдбар гаджеттері), Windows Live бастау бетіне (Веб гаджеттері) немесе пайдаланушының ұялы телефоны сияқты сыртқы дисплейге (SideShow гаджеттері) орналастыра алатын гаджеттерді ұсынады. Windows Sidebar Windows Vista жүйесінде көрінетін бөлім болды және Windows 7 жүйесінде жойылды, сонымен қатар Sidebar гаджеттері Desktop Gadgets болып өзгертілді.
Өтпелі кезеңдер мен басқа да әсерлер
Композициялық терезе менеджерлері ойластырылмағанша, терезелер бірден пайда болып, жоғалып кететін, бұл интерфейс метафорасына (және нақты кеңсе ортасына) қайшы келетін жағдай болды. Кейбір жүйелер, мысалы, Classic Mac OS, ZoomRects арқылы бұл мәселені шешіп, терезелердің контурын соңғы орнына қарай "зумдап" анимациялаған. Бірақ көптеген жүйелерде GUI элементтерінің кенеттен пайда болуы мен жоғалуы жаңадан бастаған пайдаланушыларға шатастыру тудырып, тіпті хаостық көрінуі мүмкін. Көрнекі өтулер контекст береді және GUI элементтерінің себеп-салдарлық байланысын ажыратуға көмектеседі. Терезе бірден жоғалудың орнына, солғын қалпында жоғалып кетуі немесе тапсырмалар панеліне дейін кішіреюі мүмкін. Түймеге басқанда ашылатын мәзір, мәзір жолағынан сыртқа қарай біртекті түрде таралып, оның бастауын және мақсатын анықтауды жеңілдетеді. Біртекті және табиғи өтулер, әсіресе экрандағы өзгерістерді баяу және нашар көретін егде жастағы немесе көру қабілеті бұзылған пайдаланушылар үшін өте пайдалы. Мысалы, жаңадан бастаған пайдаланушы кездейсоқ ашылған мәзірді ойсырап басып, жұмысын жоғалтып алуы мүмкін. Көрнекі өтуді көрсетуге қажетті қысқа кешігу пайдаланушыға саналы шешім қабылдауға және мұндай қателерден сақтануға жеткілікті уақыт береді.
Пайдаланушы интерфейсінің қасбеттері
Metisse пайдаланушы интерфейсінің фасадтарын іске қосады, бұл жүйе пайдаланушыларға тікелей манипуляция техникаларын қолдану арқылы қолданыстағы графикалық интерфейстерді оңай бейімдеуге, қайта конфигурациялауға және жаңадан құрастыруға мүмкіндік береді.