Открыть сервис

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 →