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. 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 ==