X Rendering Extension
|
|
This article includes a list of references, related reading or external links, but its sources remain unclear because it lacks inline citations. Please improve this article by introducing more precise citations. (April 2011) |
| This article relies on references to primary sources or sources affiliated with the subject, rather than references from independent authors and third-party publications. Please add citations from reliable sources. (April 2011) |
|
xclock uses the render extension for rendering translucent and antialiased clock hands |
|
| Original author(s) | X.Org Foundation |
|---|---|
| Stable release | 0.11 / July 15, 2009 |
The X Rendering Extension (Render or Xrender) is an X Window System extension to implement Porter-Duff image compositing in the X server, to allow efficient display of transparent images.
Contents |
[edit] History
It was written by Keith Packard in 2000 and was first released with XFree86 version 4.0.1.
[edit] Motivation
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.[1]
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.
[edit] Features
It provides several rendering operations and also does alpha blending. As of 2011[update] it serves primarily to implement antialiased fonts, but is expected[by whom?] to be used to implement drop shadows and translucency.
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.
[edit] Performance
It is designed to target the 3D graphics capabilities of newer video cards.
[edit] References
- ^ 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] External links
- The X Rendering Extension (Keith Packard, Latest Official Specification)
- The Xrender Library
- A New Rendering Model for X (Keith Packard, USENIX 2000)
- High Performance X Servers in the Kdrive Architecture (Eric Anholt, USENIX '04)
- Xorg Glossary (X.Org)
|
||||||||||||||||||||
| This graphics software-related article is a stub. You can help Wikipedia by expanding it. |