X Rendering Extension
Original authorX.Org Foundation
PlatformUnix, Unix-like

The X Rendering Extension (Render or XRender) is an extension to the X11 core protocol to implement image compositing in the X server, to allow an efficient display of transparent images.

History

edit

It was written by Keith Packard in 2000 and was first released with XFree86 version 4.0.1. Its design was influenced by rio, the windowing system for Plan 9.[1]

Motivation

edit

The core X Window System drawing protocol does not have a way to efficiently draw transparent objects: A computer display is composed of individual pixels, which can only show a single color at a time. Thus transparency can only be achieved by mixing the colors of the transparent object to be drawn with the background color (alpha compositing). However, the standard X protocol only allows drawing with solid color, so the only way to achieve transparency is to fetch the background color from the screen, mix it with the object color, then write it back, which is fairly inefficient.[2]

Since many operations require transparency (for example spatial anti-aliasing, especially during font rasterization, and transparency effects in window managers, such as transparent windows or menus), this limitation caused problems, and Xrender was implemented to address it.

Features

edit

It provides several rendering operations and also does alpha blending. As of 2011 it serves primarily to implement antialiased fonts, but for example KWin, KDE’s window manager uses it to draw drop shadows and translucency in case OpenGL is not available.

Geometric figures are rendered by client-side tessellation into either triangles or trapezoids. Text is drawn by loading the glyphs into the server and rendering as a group.

It is designed to target the 3D graphics capabilities of newer video cards.

References

edit
  1. ^ "Design and Implementation of the X Rendering Extension". 2000. Retrieved 2013-11-03.
  2. ^ Xft - the X Font library Drawing anti-aliased text with the core protocol involves fetching pixels from the destination, merging in the glyphs and shipping them back. This can be a performance problem when the latency between client and server is high.
edit

📚 Artikel Terkait di Wikipedia

EXA

to replace XAA (the XFree86 Acceleration Architecture) and to make the XRender extension more usable, with only minor changes needed to adapt obsolete

Java version history

sort Library-level support for elliptic curve cryptography algorithms An XRender pipeline for Java 2D, which improves handling of features specific to modern

Wayland (protocol)

able to keep the X.org server modern by adding extension such as XRandR, XRender and COMPOSITE ... With Wayland we can move the X server and all its legacy

XFree86

architecture. X11R6.4 included. Unsupported: XFree86 4.0.1 June 30, 2000 XRender Unsupported: XFree86 4.0.2 December 18, 2000 Unsupported: XFree86 4.0.3

Fedora Linux release history

official X11R6 release, which additionally included a number of updates to Xrender, Xft, Xcursor, fontconfig libraries, and other significant improvements

Unity (user interface)

managers like Compiz or KWin. In Ubuntu 11.10, Unity 2D used Metacity's XRender-based compositor to achieve transparency effects.[citation needed] Starting

Keith Packard

Radio Digital Communications (ARDC). Cairo X Window System extensions: XRender, XFixes, XDamage, XComposite, XRandR KDrive font-config, Xft Nickle XDM

X Font Server

by the server, with the support of the Xft2 or Cairo libraries and the XRender extension. For the few cases in which server-side fonts are still needed