Display PostScript (o DPS ) es un sistema de motor gráfico 2D para ordenadores que utiliza el modelo y lenguaje de imágenes PostScript (PS) (desarrollado originalmente para la impresión por ordenador ) para generar gráficos en pantalla. Al sistema PS básico, DPS añade una serie de funciones destinadas a facilitar el trabajo con pantallas de mapa de bits y mejorar el rendimiento de algunas tareas comunes.
Las primeras versiones de los sistemas de visualización PostScript se desarrollaron en Adobe Systems . Durante el desarrollo de las computadoras NeXT , NeXT y Adobe colaboraron para producir el sistema DPS oficial, que se lanzó en 1987. NeXT utilizó DPS a lo largo de su historia, mientras que las versiones de Adobe fueron populares en las estaciones de trabajo Unix durante un tiempo durante los años 1980 y 1990.
Para permitir un uso interactivo en pantalla con un rendimiento razonable, se necesitaron cambios:
showpage
, momento en el que se imprime. Esto no es adecuado para una situación de visualización en la que se necesita una gran cantidad de actualizaciones menores todo el tiempo. DPS incluyó modos para permitir la visualización en tiempo semi-real a medida que se recibían las instrucciones de los programas de usuario.pswrap
", que permitía a los desarrolladores envolver el código PostScript en una función en lenguaje C que luego podía llamarse desde una aplicación.Sin embargo, DPS no agregó un sistema de ventanas. Eso quedó en manos de la implementación y DPS estaba destinado a ser utilizado junto con un motor de ventanas existente. Este solía ser el X Window System , y en esta forma Display PostScript fue adoptado posteriormente por empresas como IBM y SGI para sus estaciones de trabajo. A menudo, el código necesario para pasar de una ventana X a un contexto DPS era mucho más complicado que el resto de la interfaz DPS. [ cita requerida ] Esto limitó en gran medida la popularidad de DPS cuando había alguna alternativa disponible. [ cita requerida ]
Los desarrolladores de NeXT escribieron un motor de ventanas completamente nuevo para aprovechar al máximo el sistema operativo orientado a objetos de NeXT . Se agregaron varios comandos a DPS para crear las ventanas y reaccionar a los eventos, de manera similar a NeWS pero más simple . La API única facilitó mucho la programación a niveles superiores e hizo de NeXT uno de los pocos sistemas que usaba ampliamente DPS. La biblioteca del sistema de ventanas del espacio de usuario NeXTSTEP usaba PostScript para dibujar elementos como barras de título y desplazadores. Esto, a su vez, hacía un uso extensivo de pswrap
los s, que a su vez se envolvían en objetos y se presentaban al programador en forma de objeto.
El sistema operativo Mac OS X de Apple utiliza un servidor de ventanas central (creado íntegramente por Apple) que almacena en caché los gráficos de las ventanas como mapas de bits, en lugar de almacenar y ejecutar código PostScript. [ cita requerida ] Una biblioteca de gráficos llamada Quartz 2D proporciona imágenes de estilo PostScript utilizando el modelo de renderizado PDF (un subconjunto, más ajustes, del modelo PostScript), pero esto lo utilizan los marcos de aplicaciones; no hay PostScript presente en el servidor de ventanas de Mac OS X. Apple eligió usar este modelo por una variedad de razones, incluida la evitación de tarifas de licencia para DPS y un soporte más eficiente del código heredado Carbon y Classic ; las aplicaciones basadas en QuickDraw usan dibujos en mapa de bits exclusivamente.