Articulo de referencia

Gerente de composición

Un gestor de composición , o compositor , es un software que proporciona a las aplicaciones un búfer fuera de pantalla para cada ventana, luego compone estos búferes de ventana ...

Un gestor de composición , o compositor , es un software que proporciona a las aplicaciones un búfer fuera de pantalla para cada ventana, luego compone estos búferes de ventana en una imagen que representa la pantalla y escribe el resultado en la memoria de visualización. Un gestor de ventanas de composición es un gestor de ventanas que también es un gestor de composición. [ 1 ] [ 2 ]

Los gestores de composición pueden realizar un procesamiento adicional en ventanas con búfer, aplicando efectos animados 2D y 3D como mezcla , desvanecimiento , escalado , rotación , duplicación , flexión y contorsión, reordenamiento, desenfoque , redirección de aplicaciones y traducción de ventanas a una de varias pantallas y escritorios virtuales . La tecnología de gráficos por computadora permite que los efectos visuales se rendericen en tiempo real, como sombras paralelas , vistas previas en vivo y animación compleja. [ 3 ] [ 4 ] Dado que la pantalla tiene doble búfer , no parpadea durante las actualizaciones.

Los gestores de composición y los gestores de ventanas de composición más utilizados incluyen:

  • Para Linux , BSD , Hurd y OpenSolaris usando el sistema X Window : el 'servidor X' tradicionalmente realiza la composición a partir de numerosas fuentes en red a alta velocidad, pero las preferencias estilísticas pueden requerir que las tareas de composición sean realizadas por un co-compositor con efectos variables en las cualidades visuales, capacidades y factores de rendimiento. Algunos ejemplos son Compiz , KWin , Xfwm , Enlightenment , Muffin (administrador de ventanas de composición para Cinnamon DE) y los administradores de ventanas de composición Mutter y los compositores xcompmgr y picom ;
  • Para Linux y BSD que utilizan Wayland : los gestores de ventanas de composición Weston , KWin y Mutter;
  • para Windows : el Administrador de ventanas de escritorio ; y
  • Para macOS : el Compositor Quartz .

Contrasta con los gestores de ventanas apiladas

El gestor de ventanas envía a cada ventana un mensaje para que se actualice cuando sea necesario. Las ventanas pueden superponerse. Al mover una ventana frontal, puede revelar un área de una ventana posterior que antes estaba oculta. Los gestores de ventanas se clasifican generalmente según su estrategia para mostrar al usuario esa área recién revelada. En la estrategia de "apilamiento", el gestor de ventanas le indica a la ventana posterior que se actualice. En la estrategia de "composición", el gestor de ventanas mantiene un búfer de memoria fuera de pantalla que contiene la apariencia completa de cada ventana, incluida la posterior.

Con un gestor de apilamiento, el proceso de repintado puede corromperse cuando un programa lento, que no responde o que tiene errores no responde a los mensajes de manera oportuna. [ 5 ] [ 6 ] Un programa malicioso puede hacer que el sistema parezca inestable simplemente al no repintar su ventana. Entonces, pueden darse una o más de las siguientes condiciones:

  • Una ventana recortada no vuelve a pintar las regiones no cubiertas, lo que da como resultado espacios en blanco o un "rastro" dejado por otra ventana.
  • Algunas partes de las ventanas (como las sombras decorativas) se dejan sin pintar y no se pintan correctamente.
  • El puntero del ratón está dañado [ 7 ]
  • La pantalla completa se congela hasta que el programa responde o se finaliza [ 8 ].

Con un gestor de composición, si una ventana deja de actualizarse cuando el gestor de ventanas lo solicita, se mostrará su última actualización y la ventana podría atenuarse. A menudo, el título cambia para reflejar que la ventana no responde. Un programa puede impedir que su ventana se mueva o se desactive, pero generalmente no causará problemas de actualización.

Historia

El Commodore Amiga , lanzado en 1985, fue uno de los primeros sistemas con un sistema de ventanas compuesto. Las aplicaciones podían solicitar primero una región de memoria fuera de la región de visualización actual para usarla como mapa de bits. El sistema de ventanas del Amiga utilizaba entonces una serie de transferencias de bits mediante el blitter de hardware del sistema para construir una composición de los mapas de bits de estas aplicaciones —junto con botones y controles deslizantes— en la memoria de visualización, sin que estas aplicaciones tuvieran que redibujar ninguno de sus mapas de bits. [ 9 ]

Gestor de ventanas Metacity , parte de GNOME 2

El 24 de marzo de 2001, Mac OS X 10.0 (Cheetah) de Apple se convirtió en el primer sistema operativo de uso general en incorporar composición y efectos 3D basados ​​en software, gracias a su componente Quartz . Con el lanzamiento de Mac OS X 10.2 (Jaguar) y Quartz Extreme , la composición pudo trasladarse a hardware gráfico dedicado . [ 2 ] [ 10 ]

En 2003, Sun Microsystems presentó un ambicioso sistema de gráficos 3D llamado Project Looking Glass, que se integraría con su conjunto de herramientas Swing . Se mostró por primera vez en la LinuxWorld Expo de 2003. Aunque Apple amenazó con demandar a Sun por infracción de derechos de propiedad intelectual , otros gestores de ventanas implementaron algunas de las funcionalidades de Looking Glass. En 2006, Sun suspendió el desarrollo, ya que su actividad principal consistía en la transición de estaciones de trabajo Unix orientadas a gráficos a la venta de mainframes empresariales . [ 11 ]

Microsoft presentó por primera vez el Administrador de ventanas de escritorio en Project Longhorn en la Conferencia de ingeniería de hardware de Windows de 2003 , demostrando ventanas inestables . [ 12 ] Los graves retrasos en el proceso de desarrollo de Longhorn hicieron que Microsoft no presentara su administrador de ventanas de composición 3D hasta el lanzamiento de Windows Vista en noviembre de 2006. [ 13 ]

La implementación de la composición bajo el sistema X Window requirió cierto rediseño, que se llevó a cabo de forma incremental. [ 14 ] Metacity 2.8.4 se lanzó en agosto de 2004. [ 15 ] Sin embargo, el primer gestor de ventanas de composición ampliamente publicitado para X fue Xfwm , lanzado en enero de 2005. [ 16 ] El 26 de enero de 2005 se lanzó Compiz , que introdujo la composición 3D totalmente acelerada en la plataforma Linux. [ 17 ] KWin de KDE también admite la composición.

Composición y efectos 3D en sistemas operativos

En la composición, se pueden aplicar efectos 3D a las ventanas para crear efectos de escritorio tridimensionales. Los gestores de ventanas de composición modernos utilizan aceleración de hardware 3D. El software del gestor de ventanas de composición se comunica con el hardware gráfico mediante interfaces de programación como OpenGL o Direct3D .

Las primeras implementaciones generalizadas que utilizaban esta técnica se lanzaron para Mac en Mac OS X 10.2 y para Linux en un prototipo de Luminocity . Actualmente, entre los gestores de ventanas que utilizan OpenGL se encuentran Compiz, KWin y Quartz Compositor, mientras que Desktop Window Manager utiliza DirectX 9. OpenGL aún no cuenta con soporte completo en hardware, por lo que el rendimiento de la composición basada en OpenGL debería seguir mejorando a medida que el hardware avance .

X11 y Wayland

Los gestores de ventanas apiladas que se ejecutan en el sistema X Window (X11) requerían una extensión de clave de croma o pantalla verde . La composición se introdujo mediante la extensión Composite . Los gestores de composición utilizan la aceleración por hardware a través de esta extensión, si está disponible.

Ubuntu 8.04 Hardy Heron ejecutando Shift Switcher de Compiz en modo Flip.

Con X11, la capacidad de realizar composición 3D acelerada completa requería cambios fundamentales en el protocolo del sistema de ventanas para poder utilizar la aceleración por hardware. Originalmente, comenzaron a aparecer varias implementaciones modificadas de X11 basadas en OpenGL , incluyendo Xgl . La introducción de AIGLX eliminaría la necesidad de usar Xgl y permitiría a los gestores de ventanas realizar composición 3D acelerada en un servidor X estándar, sin dejar de permitir la renderización directa . Actualmente, las tarjetas NVIDIA , Intel y ATI son compatibles con AIGLX.

Compiz introdujo un efecto de cubo que permite al usuario ver hasta 6 escritorios virtuales simultáneamente. Cada escritorio se convierte en una textura de superficie del cubo, que puede rotarse libremente. Compiz muestra una amplia gama de efectos 2D y 3D y tiene requisitos de hardware relativamente bajos. [ 18 ] En 2012, Compiz se incluyó en Ubuntu Linux y se habilitaba automáticamente cuando el hardware y los controladores compatibles estaban disponibles y el usuario no había seleccionado el modo 2D. [ 19 ]

Mutter (Metacity + Clutter ) ha reemplazado a Metacity como gestor de ventanas predeterminado de GNOME . Está integrado en el componente GNOME Shell de GNOME 3.0. Utiliza el motor de visualización Clutter, que ha sido adaptado a los principales sistemas operativos, netbooks y teléfonos inteligentes .

Desde la versión 4, el gestor de ventanas de KDE, KWin, cuenta con capacidades de composición. KWin ofrece gran parte de la misma funcionalidad que también está presente en Compiz .

Con el protocolo Wayland , un gestor de ventanas de composición también funciona como servidor de visualización ; no existe un servidor de visualización independiente del gestor de ventanas. El gestor de ventanas/servidor de visualización combinado se denomina compositor Wayland . Weston es una implementación de referencia de un compositor Wayland; KWin y Mutter también son compositores Wayland, además de ser gestores de ventanas de composición X11.

Java

El proyecto Looking Glass era un gestor de ventanas que combinaba renderizado 3D con el lenguaje de programación Java multiplataforma . Actualmente está inactivo y se distribuye bajo la Licencia Pública General de GNU . La distribución Granular Linux Live CD incluye Looking Glass como gestor de ventanas opcional.

Tras su descontinuación, algunas de sus funciones, como el cambio de portada y las vistas previas en miniatura, se han incorporado a otros gestores de ventanas. Entre sus características más originales se incluían la inclinación de ventanas, los marcos de ventana de doble cara y los fondos con desplazamiento parallax .

AmigaOS 4 y MorphOS

Aunque pueden ejecutarse en hardware compatible con 3D, AmigaOS 4 y MorphOS están diseñados para funcionar en ordenadores Amiga antiguos, empezando por el Amiga 1200. Por ello, sus gestores de ventanas cuentan principalmente con capacidades de renderizado plano que incluyen capas compuestas, fusión alfa, degradados, alta resolución y múltiples escritorios ("pantallas") que pueden superponerse parcialmente.

Microsoft Windows

Aunque el administrador de ventanas de Windows 2000 realiza la composición, no realiza transformaciones como el alfa por píxel. Pocas aplicaciones comerciales aprovecharon la fusión alfa; los programas gratuitos fueron de los primeros en experimentar con ella, aunque a través de configuraciones opcionales. [ 20 ] [ 21 ] La composición se introdujo con el Administrador de ventanas de escritorio en Windows Vista . [ 1 ]

Windows Vista y Windows 7 permiten al usuario desactivar el Administrador de ventanas de escritorio seleccionando la configuración de apariencia básica de Windows. Además, Windows lo desactiva automáticamente para realizar la superposición de hardware mediante el filtro Mezclador de superposición .

Usabilidad y atractivo visual

El enfoque de composición facilita la implementación de una serie de características que hacen que la interfaz de usuario sea más accesible, más sencilla de usar o con elementos visualmente atractivos .

Lupas

Efecto de ampliación en Compiz (haz clic en la imagen para verla a escala).

Los gráficos vectoriales , como las fuentes TrueType y los elementos con aceleración 3D, se pueden ampliar sin pérdida de calidad (generalmente debido al aliasing ). Una lupa de pantalla amplía un área de la pantalla, facilitando la lectura de ciertas partes del texto, ya sea para evitar la fatiga visual , para personas con discapacidad visual o simplemente para leer a distancia. Los efectos de zoom, como la lupa ojo de pez y los efectos de zoom de escritorio, ofrecen esta funcionalidad.

Vista previa en directo

Al pasar el cursor sobre el botón correspondiente en la barra de tareas , se puede mostrar una vista previa de una ventana en una miniatura emergente . Esto permite al usuario identificar y gestionar varios programas que se ejecutan simultáneamente.

Cambio de ventanas

Cambio básico de ventanas en XGL

Las ventanas con nombres e iconos similares suelen generar confusión, sobre todo cuando sus barras de título se superponen; es necesario memorizar la posición de cada una en la barra de tareas. Cuando hay muchas ventanas abiertas de esta manera, el usuario a menudo tiene que recurrir al método de prueba y error —pulsando cada botón de la barra de tareas uno por uno— antes de poder continuar. El cambio de ventanas permite previsualizar rápidamente varias ventanas a la vez, reorganizándolas temporalmente sobre un fondo decorativo. Tras realizar una selección, las ventanas vuelven a su disposición original.

La selección comienza cuando el usuario introduce una combinación de teclas de acceso rápido , mueve el puntero del ratón a un punto de la pantalla o, en algunos casos, utiliza la rueda del ratón . La navegación entre los elementos se realiza mediante el teclado o el ratón. Un elemento se selecciona soltando la tecla de acceso rápido, pulsando la tecla Intro o haciendo clic sobre él con el ratón.

Interruptor de palanca

Cambio de interruptor en Compiz

El selector de ventanas mejora la función de cambio entre ventanas con Alt+Tab . Las ventanas abiertas se organizan en una pila, similar a un selector giratorio de los años 50 o un Rolodex . En algunos sistemas, el usuario puede pulsar Alt+Mayús+Tab para navegar hacia atrás. Se aplican transiciones visuales a cada elemento durante la navegación.

Las implementaciones comunes de la conmutación de flip incluyen Flip 3D en Windows y Shift Switcher en Compiz.

Cambio de cubierta

Interruptor de cubierta en KWin

El cambio de cubierta es similar al cambio de volteo, con algunas diferencias, principalmente visuales. En lugar de una pila con la selección en la parte superior, se muestran dos pilas simétricas con la selección actual en primer plano y en el centro (similar a la función de inclinación de ventana en Looking Glass).

Cover Flow es una implementación del cambio de portadas en macOS. Las versiones más recientes utilizan el desenfoque para atenuar los elementos no seleccionados. Cover Flow también se ha implementado en otros programas publicados por Apple , como iTunes .

Esto también se conoce como "vista de libro animado".

Conmutación de anillo

Conmutación de anillos en Compiz Fusion

El cambio de ventanas en anillo es similar al cambio de ventanas con volteo, con la diferencia de que las ventanas se mueven en círculo, con la selección actual al frente, generalmente en la parte inferior. La mayoría de los gestores de ventanas con composición incluyen esta función de forma predeterminada , y también existen aplicaciones de terceros , como 3d-desktop .

Agrupamiento

El usuario puede agrupar ventanas, de modo que solo una ventana sea visible a la vez en cada grupo. En Compiz, el marco de la ventana se invierte para indicar cuándo se ha cambiado la ventana activa dentro de su grupo.

Exponer

macOS muestra una vista previa de todas las ventanas en pantalla organizándolas en mosaico. Otros sistemas con funcionalidad similar (Microsoft Windows, Compiz, KWin, aplicaciones de terceros) se conocen como clones de Exposé. La tecla de acceso rápido para activar Exposé no es Alt+Tab, sino F3.

Centro de control de la misión

Mac OS X 10.7 combina varias otras funciones de composición desarrolladas por Apple, como Exposé, Dashboard y Spaces , en un programa más amplio llamado Mission Control .

Motores de widgets

En macOS, los widgets ( applets de una sola función ), como el reloj, el bloc de notas y la calculadora, pueden aparecer pulsando una combinación de teclas . Los motores de widgets agilizan el trabajo al mantener accesibles los widgets de uso frecuente sin que resulten intrusivos. Estos widgets son gestionados por el programa Dashboard de macOS.

Compiz comienza con una capa de widgets vacía, lo que permite al usuario agregar aplicaciones haciendo clic en ellas. Se admiten varios widgets, incluidos Screenlets, gDesklets y SuperKaramba. [ 22 ]

Windows Vista ofrece gadgets que el usuario puede colocar en la barra lateral de Windows (gadgets de la barra lateral), en la página de inicio de Windows Live (gadgets web) o en una pantalla externa, como el teléfono móvil del usuario ( gadgets de SideShow ). La barra lateral de Windows era una partición visible en Windows Vista y se eliminó en Windows 7, junto con los gadgets de la barra lateral, que se cambiaron a gadgets de escritorio .

Transiciones y otros efectos

Antes del desarrollo de los gestores de ventanas con composición, las ventanas aparecían y desaparecían instantáneamente, lo cual resulta incongruente con la metáfora de la interfaz (y con un entorno de oficina físico ). Algunos sistemas, como el Mac OS clásico, evitaban este problema con ZoomRects , animando el contorno de las ventanas para que se acercaran a su posición final. [ 23 ] Sin embargo, en la mayoría de los sistemas, la aparición y desaparición repentina de elementos de la interfaz gráfica de usuario puede resultar confusa o incluso caótica para los usuarios inexpertos. Las transiciones visuales proporcionan contexto y ayudan a distinguir las relaciones causales de los elementos de la interfaz gráfica. En lugar de simplemente desaparecer, una ventana puede desvanecerse o encogerse visiblemente hasta la barra de tareas. Un menú desplegable en el que se ha hecho clic puede irradiar suavemente desde la barra de menús, lo que facilita determinar su origen y propósito.

Las transiciones graduales y naturales pueden ser especialmente útiles para usuarios mayores o con discapacidad visual, quienes perciben los cambios en la pantalla con mayor lentitud y menor claridad. Por ejemplo, un usuario inexperto podría hacer clic impulsivamente en un menú activado accidentalmente, lo que le haría perder su trabajo. El breve retraso necesario para mostrar una transición visual puede darle al usuario tiempo suficiente para tomar una decisión consciente y evitar este tipo de errores.

Fachadas de interfaz de usuario

Metisse implementa fachadas de interfaz de usuario, un sistema que proporciona a los usuarios formas sencillas de adaptar, reconfigurar y recombinar las interfaces gráficas existentes, mediante el uso de técnicas de manipulación directa . [ 24 ]

Lista de gestores de ventanas de composición

Lista de gestores de composición independientes

  • xcompmgr —una alternativa mínima a Compiz
  • Compton : una bifurcación de dcompmgr, que a su vez es una bifurcación de xcompmgr, con errores corregidos. (No se mantiene desde 2017).
  • Picom : un compositor ligero para X11. Es una bifurcación de Compton.
  • Cairo Compmgr (Cairo Composite Manager): un complemento de composición para gestores de ventanas existentes. Utiliza Cairo , una biblioteca de gráficos vectoriales que también se usa en GTK+ .
  • Unagi Compositing Manager : un gestor de composición que puede utilizarse junto con un gestor de ventanas existente. Utiliza la biblioteca XCB . (No se mantiene desde 2014).
  • MCompositor: se utiliza en los teléfonos MeeGo .

Sistemas operativos con gestores de ventanas compuestas

  • Mac OS X 10.0 y versiones posteriores
  • cualquier sistema operativo tipo Unix que utilice XOrg / AIGLX o Xgl
  • AmigaOS 4
  • MorphOS 2.0 y versiones posteriores
  • Windows Vista y versiones posteriores

Véase también

Referencias

  1. 1 2 "Administrador de ventanas de escritorio" . Microsoft Learn . 23 de agosto de 2019. Consultado el 25 de abril de 2023 .
  2. 1 2 "Mac OS X 10.4 Tiger: Página 13" . Arstechnica.com. 28 de abril de 2005. Consultado el 21 de noviembre de 2008 .
  3. "Compiz.org :: Inicio/Comenzar – Compiz" . Compiz.org. Archivado del original el 12 de octubre de 2006. Consultado el 21 de noviembre de 2008 . 
  4. "Plano: "Gestión de ventanas de composición (compiz/beryl)"" . Blueprints.launchpad.net. 17 de octubre de 2006 . Consultado el 21 de noviembre de 2008 .
  5. "Varias instancias de Internet Explorer no actualizan la pantalla correctamente" . Microsoft. 9 de octubre de 2003. Consultado el 17 de diciembre de 2010 .
  6. "Preguntas frecuentes de soporte de PHOTOSCORE" . Consultado el 17 de diciembre de 2010 .
  7. "Corrupción del cursor del usuario del ratón en xinerama" . Canonical Ltd. 2 de agosto de 2006. Consultado el 17 de diciembre de 2010 .
  8. "Mustang: Las aplicaciones Swing se congelan y luego la pintura se corrompe" . Oracle. 1 de mayo de 2006. Archivado del original el 26 de julio de 2011. Recuperado el 17 de diciembre de 2010 .
  9. "Manual de bibliotecas RKM de Amiga" .
  10. "Una breve historia de Mac OS X" . Kernelthread.com. Archivado del original el 22 de enero de 2009. Consultado el 21 de noviembre de 2008 .
  11. Markoff, John (26 de abril de 2007). "Sun e IBM ofrecerán una nueva clase de servidores de gama alta" . The New York Times .
  12. "Interfaz de usuario 3D Longhorn de Microsoft: surge más información" . ExtremeTech. 9 de mayo de 2003.
  13. "Historia de Microsoft Windows" . Computerhope.com . Consultado el 21 de noviembre de 2008 .
  14. "La (re)arquitectura del sistema X Window" . Keithp.com . Consultado el 21 de noviembre de 2008 .
  15. "Metacity 2.8.4" . Compatible con Linux . 30 de agosto de 2004. Consultado el 13 de junio de 2023 .
  16. "¡Xfce 4.2.0 lanzado!" . foo-projects.org. 16 de enero de 2005 . Consultado el 25 de febrero de 2009 .
  17. "Historial de versiones – Preferencias Escondite" . Hideseek.sourceforge.net . Consultado el 21 de noviembre de 2008 .
  18. "Instalación/ejecución de Compiz en GeForce2 MX/MX 400" .
  19. "¿De qué es responsable la aplicación "compiz" en Ubuntu 12.04?" .
  20. "Ejemplo de utilidad de transparencia alfa" .
  21. "Ventanas con fusión alfa (transparentes)" . CodeGuru. Archivado del original el 30 de junio de 2008. Consultado el 26 de julio de 2008 .
  22. "Plugins/Widgets - Wiki de Compiz" . Compiz. Archivado del original el 23 de diciembre de 2010. Consultado el 26 de diciembre de 2010 .
  23. "Prismáticos de alta tecnología" . 11 de enero de 2017.
  24. "Metisse: User Interface Façades" . Metisse. Archivado del original el 30 de agosto de 2011. Recuperado el 3 de agosto de 2011 .
  25. 3Dwm - Acerca de , 23 de enero de 2004, archivado del original el 6 de febrero de 2004 , consultado el 4 de febrero de 2010
  26. 3Dwm - Acerca de - Preguntas frecuentes - Acerca del proyecto , 3 de diciembre de 2003, archivado del original el 24 de febrero de 2004 , consultado el 4 de febrero de 2010
  27. Gestor de ventanas 3D , archivado del original el 17 de julio de 2011 , recuperado el 16 de diciembre de 2010.
  28. Yeargin, Ray (31 de marzo de 2005), 3DWM: Una mirada en captura de pantalla al escritorio 3D , consultado el 16 de diciembre de 2010.
  • Diversos efectos en Compiz en YouTube
  • Comparación entre Windows Aero y Compiz en YouTube
  • Mac OS X y el compositor Quartz en YouTube
  • Sombras paralelas y transparencia en xcompmgr en YouTube
  • Cambio de escritorio usando 3d-desktop en YouTube
  • Cambio de escritorio usando el efecto cubo en YouTube
  • Vídeo de demostración oficial del Proyecto Looking Glass en YouTube.
  • Efectos de fondo y de ventana en Looking Glass en YouTube