¿Qué es el servidor de ventanas en OS X?
¿Qué es el servidor de ventanas en OS X?
Utiliza Quartz . Pero ese es un término de marketing, ya que no hay una sola cosa llamada Cuarzo, sino un grupo de cosas que trabajan juntas para hacer el sistema llamado Cuarzo. Específicamente, Quartz abarca el conjunto de sistemas necesarios para la representación (Quartz 2D), la gestión de fuentes, la interacción de la tarjeta gráfica (Quartz Compositor), la compatibilidad con OpenGL, la aceleración 3D y demás.
Quartz Compositor es la pieza del paquete Quartz que proporciona las funciones de administración y composición del servidor y de las ventanas que normalmente realizan los pares XServer y XClient.
Un addendum a esta pregunta podría ser: ¿por qué Apple no usó X11 y X Server?
Y hay una respuesta excelente a esa pregunta adicional sobre Slashdot de uno de los principales desarrolladores de Quartz:
Lo que Apple está proporcionando es un sistema de ventanas original de Apple que es Modelo de gráficos agnósticos, así como un sistema de dibujo vectorial que mapea muy bien para PDF, que es una especie de PostScript sin el Operadores no gráficos. Esto está empaquetado bajo el nombre 'Cuarzo' para Referencia fácil por tipos de marketing.
El sistema de ventanas está diseñado para admitir ambos almacenados en búfer (como un fuera de pantalla PixMap) y ventanas no almacenadas, y es un modelo gráfico agnóstico, funciona igual de bien con QuickDraw, OpenGL, Quartz Motor de dibujo, X11 y soluciones de terceros, y gestión de ventanas. Geometría para los ambientes Clásico, Carbono y Cacao. El servidor La parte es una hibridación de los modelos de árbitro y compositor de pantalla. (y si eso es todo Geek para ti, no te preocupes por eso).
El motor de dibujo de cuarzo admite primitivos de dibujo similares a los Primitivas de gráficos que se pueden encontrar en el DPSClient Biblioteca de primitivas de un solo operador para X y NeXTSTEP. No existen Primitivas de matemáticas y control de flujo, ya que se pueden hacer más Eficientemente en el código compilado nativo. No hay DPS o PS Wrappers, ya que esta optimización para gráficos del lado del servidor no es necesaria en el modelo de gráficos del lado del cliente de Quartz.
Las operaciones proporcionan creación de imágenes y trazado y relleno operaciones, así como algunos otros bits interesantes que se asignan bien en la dirección hacia la que se dirige el dibujo en 2D. (Ver Longhorn, o la X proyectos de trama.) El motor de dibujo puede enviar a rásteres (como un ventana!), así como flujos de PS y PDF para alimentar impresoras. El Mac OS X sistema de impresión aprovecha las capacidades de cuarzo para Es compatible con todo tipo de impresoras y crea la vida útil del controlador de impresora. Desarrolladores mucho, mucho más fáciles.
Cosas que deberíamos agregar / extender en el software X Window (protocolo + servidor + administrador + fuentes + ...):
- Extienda el servidor de fuentes y los servicios a los esquemas de venta y antialias las máscaras, admiten más tipos de fuentes, manejan el subconjunto de fuentes.
- extender dibujar primitivas para incluir operaciones de ruta similares a PS.
- Añadir controles de tramado y fase.
- Añade soporte ColorSync para dibujar y operaciones de imagen, calibración de pantalla
- Añadir canal alfa amplio Soporte y composición de Porter-Duff, tanto para dibujar en una ventana como para interacciones entre ventanas.
- Añadir soporte para afines en general transformaciones de ventanas
- Agregue soporte para las deformaciones de malla de ventanas
- Hacer Asegúrese de que OpenGL y el hardware de reproducción de video especial sean integrado, y se comporta bien con todos los cambios anteriores.
- encontramos que Normalmente transmitimos 200 Mb / s de comandos y texturas para El uso interactivo de OpenGL, por lo que la eficiencia del transporte podría ser un problema.
Entonces, sí, parece que podemos usar X para Quartz. Todo lo que necesitamos hacer es definir extensiones para y actualizar el servidor de fuentes, agregar dithering con controles de fase al motor de marcado X, agregue un modelo de transparencia a X imágenes con soporte de composición Porter-Duff, asegúrese de que GLX entre, actualizar el búfer de ventana para incluir transparencia, deformaciones de malla y muy buen remuestreo, y tal vez aumentar un poco la capa de transporte.
Ummm ... Parece que no queda mucho código de la X original servidor en la ruta de dibujo o maquinaria de ventanas, y no lo hace Parece que las aplicaciones que se basan en estas extensiones pueden funcionar con cualquier otra X servidor. ¿Qué ganamos con esto?
Oh, sí. Mi madre puede ejecutar una sesión de xterm en su escritorio ahora sin descargando el paquete Apple X11, un servidor X shareware o comprando un paquete de software.
Estuve allí, evalué eso.
Lea otras preguntas en las etiquetas macos window-manager