El Rendering Extension X ( Render o XRender ) es una extensión del protocolo de núcleo X11 para implementar la imagen de composición en el servidor de X , para permitir una visualización eficiente de imágenes transparentes.
Autor (es) original (es) | Fundación X.Org |
---|---|
Lanzamiento estable | 0.11 / 15 de julio de 2009 |
Plataforma | Unix , similar a Unix |
Historia
Fue escrito por Keith Packard en 2000 y se lanzó por primera vez con XFree86 versión 4.0.1. Su diseño fue influenciado por rio , el sistema de ventanas del Plan 9 . [1]
Motivación
El protocolo de dibujo principal del sistema X Window no tiene una forma de dibujar objetos transparentes de manera eficiente: una pantalla de computadora está compuesta por píxeles individuales , que solo pueden mostrar un solo color a la vez. Por lo tanto, la transparencia solo se puede lograr mezclando los colores del objeto transparente que se va a dibujar con el color de fondo ( composición alfa ). Sin embargo, el protocolo X estándar solo permite dibujar con color sólido, por lo que la única forma de lograr la transparencia es buscar el color de fondo de la pantalla, mezclarlo con el color del objeto y luego escribirlo, lo cual es bastante ineficiente. [2]
Dado que muchas operaciones requieren transparencia (por ejemplo , suavizado espacial , especialmente durante la rasterización de fuentes , y efectos de transparencia en administradores de ventanas , como ventanas transparentes o menús), esta limitación causó problemas y se implementó Xrender para solucionarla.
Características
Proporciona varias operaciones de renderizado y también realiza mezclas alfa . A partir de 2011[actualizar]sirve principalmente para implementar fuentes antialias , pero por ejemplo KWin , el administrador de ventanas de KDE lo usa para dibujar sombras y translucidez en caso de que OpenGL no esté disponible.
Las figuras geométricas se representan mediante un mosaico del lado del cliente en triángulos o trapecios . El texto se dibuja cargando los glifos en el servidor y renderizándolos como un grupo.
Está diseñado para apuntar a las capacidades de gráficos 3D de las tarjetas de video más nuevas.
Referencias
- ^ "Diseño e implementación de la extensión X Rendering" . 2000 . Consultado el 3 de noviembre de 2013 .
- ^ Xft: la biblioteca de fuentes X Dibujar texto suavizado con el protocolo central implica buscar píxeles del destino, fusionar los glifos y enviarlos de vuelta. Esto puede ser un problema de rendimiento cuando la latencia entre el cliente y el servidor es alta.
enlaces externos
- La extensión de renderizado X (Keith Packard, última especificación oficial)
- La biblioteca Xrender
- Un nuevo modelo de renderizado para X (Keith Packard, USENIX 2000)
- Servidores X de alto rendimiento en la arquitectura Kdrive (Eric Anholt, USENIX '04)
- Glosario de X.Org ( X.Org )