Si OS X no usa el servidor X, ¿entonces qué usa?

6

¿Qué es el servidor de ventanas en OS X?

    
pregunta jkd 25.01.2015 - 23:27

1 respuesta

9

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 + ...):

     
  1. 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.
  2.   
  3. extender   dibujar primitivas para incluir operaciones de ruta similares a PS.
  4.   
  5. Añadir   controles de tramado y fase.
  6.   
  7. Añade soporte ColorSync para dibujar y   operaciones de imagen, calibración de pantalla
  8.   
  9. Añadir canal alfa amplio   Soporte y composición de Porter-Duff, tanto para dibujar en una ventana como   para interacciones entre ventanas.
  10.   
  11. Añadir soporte para afines en general   transformaciones de ventanas
  12.   
  13. Agregue soporte para las deformaciones de malla de ventanas
  14.   
  15. 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.
  16.   
  17. 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.
  18.   

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.

    
respondido por el Ian C. 26.01.2015 - 00:16

Lea otras preguntas en las etiquetas