Display PostScript (или DPS ) — это система движка 2D-графики для компьютеров, которая использует модель и язык визуализации PostScript (PS) (первоначально разработанный для компьютерной печати ) для генерации экранной графики. К базовой системе PS DPS добавляет ряд функций, призванных облегчить работу с растровыми дисплеями и улучшить производительность некоторых распространенных задач.
Ранние версии систем отображения PostScript были разработаны в Adobe Systems . Во время разработки компьютеров NeXT , NeXT и Adobe сотрудничали для создания официальной системы DPS, которая была выпущена в 1987 году. NeXT использовала DPS на протяжении всей своей истории, в то время как версии от Adobe были популярны на рабочих станциях Unix в течение некоторого времени в 1980-х и 1990-х годах.
Для поддержки интерактивного использования на экране с приемлемой производительностью потребовались изменения:
showpage
, после чего он распечатывается. Это не подходит для ситуации отображения, когда все время требуется большое количество мелких обновлений. DPS включает режимы, позволяющие отображать данные в полуреальном времени, поскольку инструкции были получены от пользовательских программ.pswrap
», которая позволила разработчикам заключать код PostScript в функцию на языке C , которую затем можно было вызывать из приложения.Однако DPS не добавила оконную систему. Это было предоставлено реализацией, и DPS предназначалась для использования в сочетании с существующим оконным движком. Часто это была X Window System , и в этой форме Display PostScript был позже принят такими компаниями, как IBM и SGI для своих рабочих станций. Часто код, необходимый для перехода из окна X в контекст DPS, был намного сложнее, чем весь остальной интерфейс DPS. [ необходима цитата ] Это значительно ограничивало популярность DPS, когда была доступна какая-либо альтернатива. [ необходима цитата ]
Разработчики NeXT написали совершенно новый движок окон, чтобы в полной мере использовать объектно-ориентированную операционную систему NeXT . В DPS был добавлен ряд команд для создания окон и реагирования на события, похожих на NeWS, но более простых . Единый API значительно упростил программирование на более высоких уровнях и сделал NeXT одной из немногих систем, широко использующих DPS. Библиотека системы окон пользовательского пространства NeXTSTEP использовала PostScript для рисования таких элементов, как заголовки и скроллеры. Это, в свою очередь, широко использовало pswrap
s, которые, в свою очередь, были упакованы в объекты и представлены программисту в форме объектов.
Операционная система Mac OS X от Apple использует центральный сервер окон (полностью созданный Apple), который кэширует оконную графику как растровые изображения вместо хранения и выполнения кода PostScript. [ требуется ссылка ] Графическая библиотека Quartz 2D обеспечивает визуализацию в стиле PostScript с использованием модели рендеринга PDF (подмножество, плюс настройки, модели PostScript), но она используется фреймворками приложений — в сервере окон Mac OS X PostScript отсутствует. Apple решила использовать эту модель по ряду причин, включая избежание лицензионных сборов за DPS и более эффективную поддержку устаревшего кода Carbon и Classic ; приложения на основе QuickDraw используют исключительно растровое рисование.