Расширение X-рендеринга
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Оригинальный автор(ы) | Фонд X.Org |
---|---|
Стабильная версия | 0,11 / 15 июля 2009 г |
Платформа | Unix , Unix-подобный |
Расширение X Rendering ( Render или XRender ) — это расширение основного протокола X11, позволяющее реализовать компоновку изображений на X-сервере и обеспечить эффективное отображение прозрачных изображений.
История
[ редактировать ]Он был написан Китом Паккардом в 2000 году и впервые был выпущен в составе XFree86 версии 4.0.1. Его дизайн был создан под влиянием rio , оконной системы Plan 9 . [1]
Мотивация
[ редактировать ]Базовый протокол рисования X Window System не позволяет эффективно рисовать прозрачные объекты: дисплей компьютера состоит из отдельных пикселей , которые могут отображать только один цвет одновременно. Таким образом, прозрачности можно добиться только путем смешивания цветов рисуемого прозрачного объекта с цветом фона ( альфа-композитинг ). Однако стандартный протокол X позволяет рисовать только сплошным цветом, поэтому единственный способ добиться прозрачности — это получить цвет фона с экрана, смешать его с цветом объекта, а затем записать его обратно, что довольно неэффективно. [2]
Поскольку многие операции требуют прозрачности (например, пространственное сглаживание , особенно во время растеризации шрифтов , и эффекты прозрачности в оконных менеджерах , такие как прозрачные окна или меню), это ограничение вызвало проблемы, и для решения этой проблемы был реализован Xrender.
Функции
[ редактировать ]Он обеспечивает несколько операций рендеринга, а также альфа-смешение . По состоянию на 2011 год [update] он служит в первую очередь для реализации сглаженных шрифтов , но, например , KWin , оконный менеджер KDE, использует его для рисования теней и полупрозрачности в случае, если OpenGL недоступен.
Геометрические фигуры преобразуются посредством тесселяции на стороне клиента в треугольники или трапеции . Текст рисуется путем загрузки глифов на сервер и их рендеринга как группы.
Он разработан с учетом возможностей 3D-графики новых видеокарт.
Ссылки
[ редактировать ]- ^ «Проектирование и реализация расширения X Rendering» . 2000 . Проверено 3 ноября 2013 г.
- ^ Xft — библиотека X Font. Рисование сглаженного текста с помощью основного протокола включает получение пикселей из места назначения, объединение глифов и отправку их обратно. Это может быть проблемой производительности, если задержка между клиентом и сервером высока.
Внешние ссылки
[ редактировать ]- Расширение X Rendering (Кит Паккард, последняя официальная спецификация)
- Библиотека Xrender
- Новая модель рендеринга для X (Кит Паккард, USENIX 2000)
- Высокопроизводительные X-серверы в архитектуре Kdrive (Эмма Анхольт, USENIX '04)
- Глоссарий X.Org ( X.Org )