Диспетчер окон композитинга

редактировать

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

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

К наиболее часто используемым оконным менеджерам композитинга относятся:

Содержание

  • 1 Сравнение со стековыми оконными менеджерами
  • 2 История
  • 3 Композиция и 3D-эффекты в операционных системах
    • 3.1 Linux
    • 3.2 Java
    • 3.3 AmigaOS 4 и MorphOS
    • 3.4 Microsoft Windows
  • 4 Удобство использования и приятный внешний вид
    • 4.1 Лупы
    • 4.2 Предварительный просмотр в реальном времени
    • 4.3 Переключение окон
      • 4.3.1 Флип-переключение
      • 4.3.2 Переключение прикрытия
      • 4.3.3 Переключение звонка
      • 4.3.4 Группировка
      • 4.3.5 Exposé
      • 4.3.6 Управление полетом
    • 4.4 Механизмы виджетов
    • 4.5 Переходы и другие эффекты
    • 4.6 Фасады пользовательского интерфейса
  • 5 Список оконных менеджеров композитинга
  • 6 Список автономных менеджеров композитинга
  • 7 Операционные системы с композитингом windo w менеджеры
  • 8 См. также
  • 9 Ссылки
  • 10 Внешние ссылки

Сравнение со стековыми оконными менеджерами

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

  • a обрезанное окно не перекрашивает непокрытые области, в результате чего остаются пустые места или «след», оставленный от другого окна
  • части окон (например, декоративные падающие тени) остаются позади и не закрашиваются должным образом
  • указатель мыши поврежден
  • обновления экрана становятся невыносимо медленными
  • весь экран зависает до тех пор, пока программа либо отвечает, либо завершается.

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

История

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

Metacity оконный менеджер, часть GNOME.

24 марта 2001 года Mac OS X v10.0 стала первой mainstream операционная система для программной 3D-композиции и эффектов, обеспечиваемых ее компонентом Quartz. С выпуском Mac OS X v10.2 и Quartz Extreme работа по композитингу может быть перенесена на выделенное графическое оборудование.

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

Microsoft впервые представила Desktop Window Manager в Project Longhorn на конференции 2003 Windows Hardware Engineering Conference, демонстрация. Серьезные задержки в разработке Longhorn вынудили Microsoft не дебютировать в 3D- оконный менеджер композитинга до выпуска Windows Vista в январе 2007 года.

Реализация композитинга в X Window System потребовала некоторой переделки, которая происходила постепенно. Metacity 2.8.4 был выпущен в августе 2004 года. Однако первым широко известным оконным менеджером композитинга для X был Xfwm, выпущенный в январе 2005 года. 26 января 2005 года Compiz, представляющий полностью ускоренное 3D-композитинг для платформы Linux. KDE KWin также поддерживает композитинг.

Композиция и трехмерные эффекты в операционных системах

При наложении трехмерные эффекты могут применяться к окнам для создания трехмерных эффектов рабочего стола. Современные оконные менеджеры композитинга используют аппаратное ускорение 3D. Программное обеспечение композитного оконного менеджера взаимодействует с графическим оборудованием через программные интерфейсы, такие как OpenGL или Direct3D.

. Самые ранние широко распространенные реализации, использующие этот метод, были выпущены для Mac в Mac OS X 10.2, а для Linux - в прототипе Luminocity. В настоящее время оконные менеджеры, использующие OpenGL, включают Compiz, KWin и Quartz Compositor, тогда как Desktop Window Manager в настоящее время использует DirectX 9. OpenGL все еще не полностью поддерживается аппаратным обеспечением, поэтому производительность композитинга на основе OpenGL должна продолжать улучшаться по мере улучшения оборудования.

Linux

Менеджеры окон стекирования, работающие на X-сервере, требовали цветного ключа или зеленого экранирования расширения. Композиция была введена посредством расширения "Composite". Менеджеры компоновки используют аппаратное ускорение с помощью этого расширения, если оно доступно.

Ubuntu 8.04 Hardy Heron с переключателем сдвига Compiz в режиме переворота.

В Linux и UNIX возможность выполнять полный 3D-ускоренный композитинг требовала фундаментальных изменений в X11, чтобы использовать аппаратное ускорение. Первоначально начали появляться несколько модифицированных реализаций X11, разработанных на основе OpenGL, включая Xgl. Введение AIGLX устранит необходимость в использовании Xgl и позволит оконным менеджерам выполнять ускоренное 3D-композитинг на стандартном X-сервере, при этом позволяя прямой рендеринг. В настоящее время карты NVIDIA, Intel и ATI поддерживают AIGLX.

Compiz представила эффект куба, который позволяет пользователю видеть до 6 виртуальные рабочие столы сразу. Каждый рабочий стол преобразуется в текстуру поверхности куба, которую можно вращать по желанию. Compiz отображает широкий спектр 2D и 3D эффектов и имеет относительно низкие требования к оборудованию. В 2012 году Compiz был включен в Ubuntu Linux и включался автоматически, когда поддерживаемое оборудование и драйверы были доступны и пользователь не выбрал 2d Mode.

Mutter (Metacity + Clutter ) заменил Metacity в качестве оконного менеджера по умолчанию для GNOME. Он включен в компонент GNOME Shell в GNOME 3.0. Он использует механизм отображения Clutter, который был перенесен на все основные операционные системы, нетбуки и смартфоны.

Начиная с версии 4, оконный менеджер KDE KWin имеет возможности компоновки. KWin имеет большую часть той же функциональности, которая присутствует в Compiz.

Java

Project Looking Glass - оконный менеджер, сочетающий в себе 3D-рендеринг и кроссплатформенный язык программирования Java. Сейчас он неактивен и выпущен под Стандартной общественной лицензией GNU. Granular Linux Live CD-дистрибутив включает Looking Glass в качестве дополнительного оконного менеджера.

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

AmigaOS 4 и MorphOS

Хотя они могут работать на оборудовании с поддержкой 3D, AmigaOS 4 и MorphOS предназначены для работы на старых устаревших компьютерах Amiga, начиная с Amiga 1200. Таким образом, их оконные менеджеры имеют в основном возможности плоского рендеринга, которые включают составные слои, альфа-смешивание, градиенты, высокое разрешение и несколько рабочих столов («экранов»), которые могут частично обрезать друг друга.

Microsoft Windows

Хотя оконный менеджер в Windows 2000 выполняет композитинг, он не выполняет преобразования, такие как попиксельная альфа. Немногие коммерческие приложения использовали альфа-смешение; бесплатные программы были одними из первых, кто экспериментировал с ним, хотя и с дополнительными настройками. Композиция была представлена ​​в Диспетчере окон рабочего стола в Windows Vista.

. Windows Vista и Windows 7 позволяют пользователю отключать диспетчер окон рабочего стола, выбирая основные параметры внешнего вида Windows. Кроме того, он автоматически отключается Windows для выполнения аппаратного наложения с помощью Overlay Mixer Filter.

Удобство использования и приятный глазу

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

Лупы

Эффект увеличения в Compiz (щелкните изображение, чтобы просмотреть его в масштабе).

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

Предварительный просмотр в реальном времени

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

Переключение окон

Базовое переключение окон в Xgl.

Окна с похожими именами и значками имеют тенденцию вызывать путаницу, особенно когда их строки заголовков перекрываются; положение каждого такого окна на панели задач необходимо запомнить. Когда таким образом открыто много окон, пользователю часто приходится прибегать к методам проб и ошибок - нажимая каждую кнопку панели задач одну за другой - прежде чем продолжить. Переключение окон позволяет быстро просмотреть сразу несколько окон, временно переставляя их на декоративном фоне. После того, как выбор сделан, окнам восстанавливается исходное расположение.

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

Флип-переключение

Флип-переключение в Compiz.

Флип-переключатель - это усовершенствование функции переключения Alt-Tab. Выполняемые окна расположены в стопке - аналогично переключателю в стиле флип в музыкальном автомате 1950-х годов или Rolodex. В некоторых системах пользователь может нажимать Alt-Shift-Tab для перехода назад. Визуальные переходы применяются к каждому элементу во время навигации.

Общие реализации переключения поворота включают Flip 3D в Windows и переключатель сдвига в Compiz.

Переключение крышки

Переключатель крышки в KWin.

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

Cover Flow - это реализация переключения обложек в macOS. Более поздние версии используют размытие, чтобы не выделять невыделенные элементы. Cover Flow также был реализован в другом программном обеспечении, выпущенном Apple, таком как iTunes.

. Это также называется «просмотром книги».

Кольцевое переключение

Кольцевое переключение в Compiz Fusion.

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

Группировка

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

Exposé

macOS отображает предварительный просмотр каждого окна на экране, разбивая их мозаикой. Другие системы с аналогичной функциональностью (Microsoft Windows, Compiz, KWin, сторонние приложения) называются клонами Exposé. Горячая клавиша для активации Exposé - это не Alt-Tab, а F3.

Mission Control

Mac OS X 10.7 объединяет несколько других функций компоновки, разработанных Apple, таких как Exposé, Dashboard и Spaces, в одном более крупная программа под названием Mission Control.

Механизмы виджетов

В macOS «виджеты» (одноцелевые апплеты ), такие как часы, блокнот и калькулятор, могут появляться нажав горячую клавишу . Механизмы виджетов ускоряют работу, делая часто используемые виджеты доступными, но ненавязчивыми. Они обрабатываются программой Dashboard в macOS.

Compiz запускается с пустым слоем виджетов, что позволяет пользователю добавлять приложения, щелкая по ним. Поддерживаются различные виджеты, включая Screenlets, gDesklets и SuperKaramba.

. Windows Vista предоставляет гаджеты, которые пользователь может разместить на Боковая панель Windows (гаджеты боковой панели), Windows Live стартовая страница (веб-гаджеты) или внешний дисплей, например мобильный телефон пользователя (гаджеты SideShow ). Боковая панель Windows была видимым разделом в Windows Vista и была удалена в Windows 7 вместе с гаджетами боковой панели, которые были изменены на Гаджеты рабочего стола.

Переходы и другие эффекты

До разработки композитных оконных менеджеров окна мгновенно появлялись и исчезали из поля зрения, что несовместимо с метафорой интерфейса (и с настройкой физического офис ). Некоторые системы, такие как Classic Mac OS, избегали этой проблемы, анимировав контур окна, «приближающийся» к его окончательному положению. Но в большинстве систем внезапное появление и исчезновение элементов GUI может показаться неопытным пользователям сбивающим с толку или даже хаотичным. Визуальные переходы предоставляют контекст и помогают различать причинно-следственные связи элементов графического интерфейса. Вместо того, чтобы просто исчезнуть, окно может исчезнуть или заметно сжаться до панели задач. Выпадающее меню, которое было выбрано, может плавно выходить за пределы строки меню, что упрощает определение его происхождения и назначения.

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

Фасады пользовательского интерфейса

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

Список составных оконных менеджеров

Список автономных менеджеров композитинга

  • xcompmgr - минимальная альтернатива Compiz
  • Compton - исправленная ошибка вилка dcompmgr, которая является вилкой xcompmgr. (Не поддерживается с 2017 года.)
  • Picom - легкий композитор для X11. Это ответвление Compton.
  • Cairo Compmgr (Cairo Composite Manager) - надстройка композитинга для существующих оконных менеджеров. Он использует Cairo, библиотеку векторной графики, также используемую в GTK +.
  • Unagi Compositing Manager - диспетчере композитинга, который можно использовать вместе с существующим оконным менеджером. Он использует библиотеку XCB. (Не поддерживается с 2014 года.)
  • MCompositor - используется на телефонах MeeGo.

Операционные системы с оконными менеджерами для композитинга

  • Mac OS X 10.0 и более поздних версий
  • любые Unix- как ОС с использованием XOrg / AIGLX или Xgl
  • AmigaOS 4
  • MorphOS 2.0 и более поздних версий
  • Windows Vista и позже

См. также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-05-15 08:20:20
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте