LDP¶
LDP (от англ. Linux Display PostScript) — устаревшая программная архитектура отображения графики в операционной системе Linux, представлявшая собой реализацию технологии Display PostScript (DPS) для X Window System. LDP позволяла использовать язык описания страниц PostScript в качестве интерфейса для рисования графических примитивов на экране, обеспечивая единообразный вывод как на дисплей, так и на печать.
¶История
Технология Display PostScript была разработана компанией Adobe Systems в конце 1980-х годов как расширение языка PostScript для интерактивной растровой графики. DPS использовалась в операционных системах NeXTSTEP и, позднее, в macOS (до версии 10.4). В мире Unix-подобных систем DPS не получила широкого распространения из-за сложности лицензирования и высокой требовательности к ресурсам.
Проект LDP возник в середине 1990-х годов как попытка адаптировать DPS для свободной операционной системы Linux. Разработка велась группой энтузиастов при поддержке компании Ghostgum Software, известной созданием GSview — просмотрщика PostScript для Windows. Основной целью LDP было предоставление Linux-приложениям возможности использовать PostScript-модель рисования без необходимости приобретения коммерческой лицензии у Adobe.
В 1996 году вышла первая стабильная версия LDP 1.0, которая базировалась на интерпретаторе Ghostscript. Однако проект так и не достиг коммерческого успеха. Развитие LDP фактически прекратилось к началу 2000-х годов, когда на смену DPS-подходу пришли более современные графические библиотеки, такие как Cairo и Qt.
¶Архитектура
LDP состояла из двух ключевых компонентов:
- Интерпретатор PostScript — реализация языка на основе Ghostscript, выполняющая команды рисования.
- Клиентская библиотека — набор функций (API) на языке C, позволявший приложениям отправлять команды PostScript в интерпретатор и получать результаты рендеринга.
Взаимодействие между клиентом и интерпретатором осуществлялось через протокол, аналогичный DPS. Приложение формировало последовательность операторов PostScript, которые интерпретатор преобразовывал в пиксели и выводил в окно X Window System. Такой подход позволял использовать все возможности языка PostScript, включая кривые Безье, трансформации, градиенты и шрифты Type 1.
¶Применение
Основным применением LDP были научные и инженерные приложения, где требовался высококачественный вывод графики. Технология позволяла использовать один и тот же код для отображения изображения на экране и для печати на PostScript-совместимых принтерах. Это было особенно актуально для математических пакетов, САПР и программ визуализации данных.
Одним из немногих заметных приложений, использовавших LDP, была среда рабочего стола GNOME на ранних этапах её развития. Однако из-за сложности интеграции и проблем с производительностью LDP была заменена на библиотеку GDK, основанную на Xlib.
¶Причины упадка
Несмотря на техническую проработанность, LDP имела ряд существенных недостатков:
- Высокая сложность — разработчикам требовалось изучать PostScript, что было нетривиальной задачей.
- Низкая производительность — интерпретация PostScript на лету была медленнее, чем прямой вызов графических примитивов Xlib.
- Конкуренция — появление библиотек GTK и Qt, предлагавших более простые и быстрые средства рисования, сделало LDP ненужной.
- Отсутствие поддержки аппаратного ускорения — LDP работала только через программный рендеринг, что ограничивало её применение в играх и мультимедиа.
¶Наследие
LDP считается одной из неудачных ветвей развития графических технологий Linux. Её опыт показал, что полноценный перенос коммерческой модели PostScript в открытую среду нецелесообразен. Тем не менее, идеи LDP частично повлияли на развитие формата PDF и векторной графики в Linux. Современные системы используют язык PostScript преимущественно для печати (через драйверы CUPS), а не для экранного вывода.
¶См. также
- Display PostScript
- Ghostscript
- X Window System
¶Источники
- Документация проекта LDP (архивные материалы, 1996–1999).
- Статьи в журнале Linux Journal о Display PostScript и LDP.
- История графических подсистем Linux (обзорные материалы).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


