Quartz Compositor
Quartz Compositor es el servidor de pantalla y gestor de ventanas en Mac OS X. Es responsable de presentar y mantener la interfaz gráfica Aqua.
Sumario
Quartz Compositor es el facilitador exclusivo para ubicar bitmaps en la memoria de la tarjeta gráfica. La salida de bitmap de Quartz 2D, OpenGL, Core Image, QuickTime o de otros procesos es escrita a una dirección de memoria específica o backing store. El Compositor entonces lee los datos de los backing stores y los ensambla en una imagen para la pantalla, escribiendo esa imagen en la memoria de la tarjeta gráfica. Quartz Compositor solamente acepta datos rasterizados y es el único proceso que tiene acceso directo al buffer de gráficos.[1]
Administrando ventanas individuales, Quartz Compositor acepta una imagen bitmap del contenido de la ventana del renderer, junto con su posición. La elección del renderer corresponde a cada aplicación individual, aunque la mayoría usa Quartz 2D. Quartz Compositor entonces actúa como una "mesa de mezclas visual," agregando la ventana en cuestión a la escena completa para la pantalla. Este modelo hace que el servidor de ventanas de Mac OS X sea único, ya que los procesos individuales no tienen permiso para solicitar posesión de la pantalla.[2]
En su rol de administrador de ventanas, Quartz Compositor también tiene una cola de eventos que recibe los eventos, como pulsaciones de teclas y clics de mouse. El Quartz Compositor toma los eventos de esta cola, determina qué proceso es dueño de la ventana en la que ocurrió el evento y passa el evento a ese proceso.[3]
Quartz Extreme
Mac OS X v10.2 introdujo Quartz Extreme: aceleración por el procesador gráfico (GPU) para el Quartz Compositor. Con Quartz Extreme, no se utilizan ciclos del procesador central (CPU) para la composición de la escena. Quartz Compositor se ejecuta usando el procesador gráfico (GPU) encapsulando cada backing store en un mapa de texturas o superficie OpenGL. La GPU compone las superficies y mapas para proveer la imagen final que es enviada a la pantalla.
Quartz Extreme solamente usa comandos OpenGL y requiere una tarjeta gráfica conectada a un puerto AGP 2X o superior (incluyendo AGP 4X, 8X y PCI Express) que soporte texturas y mapas de tamaño arbitrario, ya que la mayor parte de los renderers no tiene limitación de tamaño (Quartz 2D por ejemplo).[1] Está habilitado automáticamente en sistemas Mac con uno de los siguientes tipos de tarjeta gráfica:[4]
- AMD(ATI) Radeon, AGP, 16MB VRAM mínimo o más moderna.
- NVIDIA GeForce2 MX, 16MB VRAM mínimo o más moderna.
Quartz Extreme no es lo mismo que Quartz 2D Extreme, que es la aceleración por GPU opcional para el renderer Quartz. Adicionalmente, cualquier GPU que sea capaz de renderizar instrucciones de Core Image es capaz de usar Quartz Extreme.
Referencias
- «ArsTechnica - Mac OS X 10.4 Tiger - Quartz». Consultado el 12 de febrero de 2007.
- «Apple - Developer - Graphics & Imaging Overview». Consultado el 12 de febrero de 2007.
- «Apple - Developer - Mac OS X Technology Overview: Graphics, Imaging, and Multimedia». Consultado el 18 de abril de 2007. (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
- «Apple - Mac OS X 10.4: Requirements for Quartz Extreme and Core Image graphics». Archivado desde el original el 19 de septiembre de 2007. Consultado el 12 de febrero de 2007.
Véase también
Enlaces externos
- Quartz Extreme (apple.com)
- The Graphics and Windowing Environment - from Apple's Mac OS X Documentation
- Quartz Services Reference